C++ programming (was Newbie Alert: Beginning parallel program ming with Scyld)

Mark Hahn hahn at physics.mcmaster.ca
Fri Oct 18 00:24:55 EDT 2002

> Trying to be objective and not fan the flames ..


> Hence a compiler can always optimise Fortran code more than C code becuase
> the programmer has expressed the operation at a higher level (eg. a
> matrix-multiply rather than a nested set of for-loops). However ultimately

reasonably true for C vs Fortran, but clearly not for C++ vs Fortran.

> an expert C-programmer (read 'assembly programmer') may be able to tweak
> even more performance by hand-unrolling loops, using prefetch, etc.  

I'm afraid I don't see why C is somehow hostile to compiler-directed
unrolling and prefetch.  in fact, gcc demonstrates this.

> (Also Mark Hahn suggested that Fortran was not inherently parallel - I would
> argue that it is since Fortran source code exposes available concurrency of
> operations : vector notation, loop trip counts are known a-priori, no
> aliasing of pointers, etc. )

gcc also demonstrates that C has had optimization-friendly aliasing
rules since C89.

Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

More information about the Beowulf mailing list