This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
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.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |