gomp-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gomp-discuss] OpenMP, HPC, and the future of GCC


From: Scott Robert Ladd
Subject: [Gomp-discuss] OpenMP, HPC, and the future of GCC
Date: Mon, 10 Feb 2003 08:01:07 -0500

Steven Bosscher wrote:
> Fact is that GCC is not a high-performance compiler for numerical
> applications: It does not do autovectorizing, and it's not easy to
> create parallel programs, etc.  Result is that when I compile a simple
> 1D Riemann solver with Intel C++, it runs more than twice as fast on my
> dual-P4 compared with GCC.  Differences: Vectorizing compiler with
> OpenMP support.

I am of the opinion that gcc needs a "high performance computing" initiative
to address the constellation of issues that surround numerical and "super"
computer applications.

If gcc wishes to address the needs of programmers in science and
engineering, we need to look at the entire constellation of features
required. That includes autovectorization, OpenMP, possibly
auto-parallelization, complete C99 support, Fortran 95, and maybe a GNU-MPI
or GNU-PVM implementation. All these pieces come together to provide a set
of tools for numerical work -- and the lack of individual components
(autovectorization, for example) undermines the effectiveness of gcc as a
whole in such applications.

> Maybe one of the reasons for this is because people involved in GCC
> development mostly are computer scientists, and that such people are not
> well known for understanding computational scientists?

Gcc is biased toward the needs of the GNU Project: writing command-line
tools and operating systems. Computational science simply hasn't entered the
picture as a primary player; most scientists of my acquaintance use gcc
because it is free-as-in-beer (especially true when it comes to g77). I
don't know anyone who advocates gcc as the most effective tool for numerical
work.

People should be aware that numerical applications transcend scientific
work. Some of the number-crunching code in my life has been in the financial
industry -- code that designs real-time portfolios, for example, based on
historical data analysis and user-supplied criteria and boundaries.

> And those numerical experts saw a trend: Everybody goes multi-processor!
> So they identified a *need* for an easy-to-use interface to create
> explicitly parallel software for people who are not computer
> scientists.  OpenMP was born, and is now widely used and well
> established.
>
> If GCC does not want to be useful in a hpc environment, that's fine.
> But I would like to hear that *before* we start an effort to implement
> OpenMP in GCC.  If the GCC community has an attitude like, "just put it
> in a branch and we'll see what we do with it," then I can think of more
> important things that I actually should put time in.

I agree. Good words.

Is GNU interested in supporting the HPC community? There are those of us
willing to put in the work if there is reasonable expectation that the gcc
"core" will accept it. But if HPC is going to be dismissed automatically, I
don't see the point of making an effort to implement HPC features.

One purported goal of the GNU Project is to provide free alternatives to
commercial products. Is GCC willing to surrender HPC to commercial compiler
vendors?

..Scott

--
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Professional programming for science and engineering;
Interesting and unusual bits of very free code.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]