LWN.net Logo

Continuity problems

Continuity problems

Posted Mar 23, 2012 3:59 UTC (Fri) by daglwn (subscriber, #65432)
In reply to: Continuity problems by jd
Parent article: GCC celebrates 25 years with the 4.7.0 release

> Equally, it's indisputable that GCC is one of the most popular and
> powerful compilers out there.

Popular? Maybe. Powerful? No way. There are many compilers out there that beat the pants off gcc in performance of generated code and have better standards support.

I'm not knocking the gcc guys. In terms of target support they are leaps and bounds above everyone else. But let's not kid ourselves. The claims about being first to provide an "architecture neutral" (whatever that means) vectorizer and OpenMP implementation are laughable. Other compilers have been doing that for decades.

Again, gcc is a great project but there needs to be a little dose of reality here.


(Log in to post comments)

Continuity problems

Posted Mar 23, 2012 8:27 UTC (Fri) by Pawlerson (guest, #74136) [Link]

What compilers do you mean? I hope you didn't mean clang/llvm which isn't even as half as powerfull.

Continuity problems

Posted Mar 23, 2012 16:15 UTC (Fri) by daglwn (subscriber, #65432) [Link]

The Intel compiler. The PGI compiler. The Pathscale compiler. That's just a few.

Continuity problems

Posted Mar 23, 2012 17:56 UTC (Fri) by khim (subscriber, #9252) [Link]

They may be faster (in some cases… it all depends on the code in question very much), but as far as “better standards support”… let's check: Intel compiler - 17 “N/A” out of 39 (vs 4 “N/A” out of 39 for GCC), the PGI compiler and Pathscale are not even mentioned.

These three compilers have much better Fortran strandards support, but this is another kettle of fish: Fortran was always quite weak in GCC because GCC is primarily C and C++ compiler.

Continuity problems

Posted Mar 23, 2012 18:27 UTC (Fri) by stevenb (guest, #11536) [Link]

Do you have a something to support the "much better Fortran support" comment? I don't think that comment is justified.

My impression is that GFortran is no worse than those 3 compilers, or any other available Fortran compiler. One popular Fortran benchmark (Polyhedron) supports that impression, see:

http://www.polyhedron.com/pb05-linux-language0html
http://www.polyhedron.com/pb05-linux-diagnose0html

Note they're comparing the latest Inter Fortran compiler (v11) to a 3 year old GFortran (v4.4). GFortran in more recent GCC releases has further improved significantly. (NB, Lahey and Absoft are Open64-based, like PathScale).

Also performance wise GFortran isn't so bad, and still improving. See:

http://www.polyhedron.com/pb05-linux-f90bench_AMD0html (v4.1, poor)
http://polyhedron.com/pb05-lin64-f90bench_SBhtml (v4.4, reasonable)
http://users.physik.fu-berlin.de/~tburnus/gcc-trunk/bench... (v4.7, great)

Continuity problems

Posted Mar 23, 2012 19:51 UTC (Fri) by daglwn (subscriber, #65432) [Link]

Does gfortran support Co-Array Fortran? I think it may support a limited form (intra-node only). I'm fuzzy on the details.

Certainly gfortran is improving but I wouldn't call it up to the same level of standards support as other Fortran compilers.

Continuity problems

Posted Mar 23, 2012 20:59 UTC (Fri) by khim (subscriber, #9252) [Link]

My impression is that GFortran is no worse than those 3 compilers, or any other available Fortran compiler. One popular Fortran benchmark (Polyhedron) supports that impression, see:

http://www.polyhedron.com/pb05-linux-language0html
http://www.polyhedron.com/pb05-linux-diagnose0html

Have you actually looked on the links you've provided? Just count “Yes” and “No”.

GFortran is much better then it was just a few years ago but it's still far behind other implementations. Almost as much as C++11 support is ahead of the others.

Continuity problems

Posted Mar 29, 2012 11:34 UTC (Thu) by David.Duffy (subscriber, #63252) [Link]

FWIW, for my code with Fortran 2003 features (73000 loc stats package), the executable GFortran produces is significantly faster than from the other 5 compilers I use.

Continuity problems

Posted Mar 23, 2012 19:52 UTC (Fri) by daglwn (subscriber, #65432) [Link]

Fair enough WRT C++-11. I don't know where PGI or Pathscale fits in there. I'll bet they use the EDG frontend and will get support whenever it is ready from EDG.

Continuity problems

Posted Mar 24, 2012 7:13 UTC (Sat) by codestr0m (guest, #75719) [Link]

For the record - PathScale EKOPath 5 will use a clang based FE for C and C++. We may have some C++11 in the initial release, but it's more likely to come in an update.

Continuity problems

Posted Mar 23, 2012 18:43 UTC (Fri) by rgmoore (✭ supporter ✭, #75) [Link]

The claims about being first to provide an "architecture neutral" (whatever that means) vectorizer and OpenMP implementation are laughable. Other compilers have been doing that for decades.

They may have been supporting those features, but they haven't been doing it across multiple architectures the way GCC does. That's the point they're trying to make with the "architecture neutral" comment; they do it across architectures and architecture families. That's tremendously important for anyone who hopes to write software that's usable across the huge range of systems supported by something like GNU/Linux.

Continuity problems

Posted Mar 23, 2012 19:49 UTC (Fri) by daglwn (subscriber, #65432) [Link]

PGI has targeted several systems over the years. So have more traditional vectorizing compilers like IBM's offerings.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds