On Thu, 2010-10-14 at 07:58 -0400, bearophile wrote:
[ . . . ]
> I agree, for some people 'high performance' means the automatic
> slicing and tiling of loops as done by advanced Fortran compilers,
> something that C/C++ compiler have just started to do a bit, and are
> far from doing well still.

There is also the issue that much of the HPC community is hobbled with
1960s Fortran code that they have to make work in parallel as they
cannot justify the expense of rewriting the codes.

> High performance also means using the SIMD instructions efficiently,
> and not even the Intel C++ compiler (that about this is better than G
> ++) is doing that well yet. That's why high-performance kernels in GNU
> radio, video decoders, Golomb ruler finders, etc often need to be
> handwritten.
[ . . . ]

And there is the issue of the right level at which the programmer
expresses things.  Part of the problem for Fortran codes in the past was
that programmers had written their loops using the tools available, and
this made parallelization a nightmare.  This rapidly let not just to
some extremely clever compiler techniques, but also to the introduction
of whole array operations at the language level.

Something similar is happening in C++:  Threading Building Blocks
introduces what is effectively a functional DSL for describing parallel
computations.  In all the little microbenchmarks I have tried using C, C
++, Fortran, D, Go, Java, Scala, etc. C++ with TBB is currently the
market leader for CPU bound systems on single machine multiple multicore
processors.  If D could get to the same level of performance, life would
be much better.  (NB "levels of performance" here is a complicated
issue, the previous statement does have the danger of being taken as
over-trivializing things.) 

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[email protected]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to