comp.lang.ada
 help / color / mirror / Atom feed
From: dennison@telepath.com
Subject: Re: Why C++ is successful
Date: 1998/07/30
Date: 1998-07-30T00:00:00+00:00	[thread overview]
Message-ID: <6pq15d$1s$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 35C00670.56E78687@earthlink.net

In article <35C00670.56E78687@earthlink.net>,
  Jay Martin <jaymmartin@earthlink.net> wrote:
> Pat Rogers wrote:
> > Since you mention it, what would you say is Fortran's niche that the
language is
> > unbeatable in filling?  (Serious request for opinion, not yet another
language
> > flame war ignition.)
>
> I believe Fortran (i.e. High Performance Fortran) is king for
> scientific array calculations on massively parallel
> machines.  These compilers will take a program
> that does calculations on arrays and generate code
> that distributes the arrays across all the processors
> and efficiently schedules data communication between
> the processors.  I don't know if there is a
> viable "High Performance C/C++" in the market yet.

I just finished a graduate-level course in compiler optimizations on
concurrent architectures. There is a large amount of research being poured
into getting Fortran compilers to optimize code on vector and multiprocessor
machines. This has little to do with the suitability of Fortran, but is
mostly due to the fact that the purchasers of these machines have lots of
Fortran code they want to run.

HPF has special loop constructs that map directly to "do this instruction on
every processor in parallel" and "do this instruction across the whole array
at once as a vector". These allows the s/w developer to explicitly code
parallelsim that he knows his hardware supports. Of course the coder has to
be able to think in these terms, which takes some getting used to.

That being said, I noticed two things wrt supporting other languages on these
platforms. First, because of C's universal reliance on pointers, just about
every loop optimization that we studied would have to be disabled in a C
compiler. Safely doing most optimizations would entail very complicated alias
analisis, usually going across compilation units.

Secondly, because of Ada's parameter passing rules and static type checking,
an Ada compiler would actually have to do LESS work than the HPF compiler to
optimize the same algorithm. The entire semester I found myself asking the
instructor, "Gee, you wouldn't have to do any of this work you just spent
half the class going over if the language was defined to (insert Ada language
rule here), would you?" Of course Ada does support pointers, but dosen't have
C's aliasing problem since aliased variables are much rarer, and have to be
clearly marked as such in the source code.

Of course language suitability is only part of the picture. If all the
purchasers of these machines have Fortran code they want to run on them, a
really great Ada or C compiler won't do them much good.

T.E.D.

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




  reply	other threads:[~1998-07-30  0:00 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <35AE4621.2EBC7F6A@eiffel.com>
     [not found] ` <7hAr1.3249$9E2.2188373@news.teleport.com>
     [not found]   ` <35AF70B9.61C5BF88@oma.com>
     [not found]     ` <N.19980718.jjru@sisyphus.demon.co.uk>
     [not found]       ` <35B32BDC.5C2C@dmu.ac.uk>
     [not found]         ` <N.19980720.ulio@sisyphus.demon.co.uk>
     [not found]           ` <35B47EAD.3AA9@dmu.ac.uk>
     [not found]             ` <N.19980722.gwka@sisyphus.demon.co.uk>
     [not found]               ` <35B60AC4.D703E836@hso.link.com>
1998-07-25  0:00                 ` Bug story Fergus Henderson
1998-07-29  0:00                   ` Robert I. Eachus
     [not found] ` <6p83vj$657$1@news.intellistor.com>
     [not found]   ` <35B79E7D.6068DCDF@eiffel.com>
     [not found]     ` <6pg7fg$qhi$1@news.interlog.com>
     [not found]       ` <901533851.20058.0.nnrp-04.9e980ba3@news.demon.co.uk>
     [not found]         ` <35be2a94.57352308@netnews.msn.com>
1998-07-28  0:00           ` Why C++ is successful Rakesh Malhotra
1998-07-29  0:00             ` Tom Moran
1998-07-29  0:00               ` Ell
1998-07-29  0:00                 ` Tom Moran
1998-07-29  0:00                   ` Ell
1998-07-29  0:00             ` Dave Martin
1998-07-29  0:00               ` John McCabe
1998-07-29  0:00                 ` nabbasi
1998-08-08  0:00                   ` Michael Young
1998-07-29  0:00               ` Rakesh Malhotra
1998-07-29  0:00               ` Jean-Pierre Rosen
1998-07-29  0:00               ` Pat Rogers
1998-07-29  0:00                 ` Juan Carlos Gil Montoro
1998-07-29  0:00                   ` Pat Rogers
1998-07-29  0:00                     ` Jay Martin
1998-07-30  0:00                       ` dennison [this message]
1998-07-30  0:00                     ` Ell
1998-07-29  0:00                       ` Larry Elmore
1998-07-30  0:00                         ` Ell
1998-07-30  0:00                         ` Jeffrey C. Dege
1998-08-01  0:00                           ` Robert Dewar
1998-07-29  0:00                       ` Pat Rogers
1998-07-30  0:00                         ` Ell
1998-07-30  0:00                         ` Ell
1998-07-29  0:00                 ` Brian Rogoff
1998-07-29  0:00                   ` John McCabe
1998-07-29  0:00                   ` Charles Hixson
1998-07-29  0:00                     ` falis
1998-07-30  0:00                     ` Robert I. Eachus
1998-07-31  0:00                       ` Charles Hixson
1998-08-01  0:00                     ` Jay Martin
1998-08-02  0:00                       ` Robert Dewar
1998-08-01  0:00                         ` Jay Martin
1998-08-02  0:00                           ` Matthew Heaney
1998-08-02  0:00                             ` Jay Martin
1998-08-02  0:00                               ` Matthew Heaney
1998-08-02  0:00                           ` Matthew Heaney
1998-08-02  0:00                             ` Lars Farm
1998-08-02  0:00                               ` Matthew Heaney
1998-08-02  0:00                                 ` Lars Farm
1998-08-10  0:00                               ` Robert I. Eachus
1998-08-06  0:00 Robert Dewar
1998-08-06  0:00 ` William Clodius
1998-08-06  0:00 ` Martin Dowie
  -- strict thread matches above, loose matches on Subject: below --
1998-08-06  0:00 Robert Dewar
1998-08-07  0:00 ` Jason Stokes
1998-08-08  0:00   ` Robert Dewar
1998-08-10  0:00     ` Robert I. Eachus
1998-08-11  0:00     ` n
1998-08-14  0:00       ` Robert Dewar
     [not found]         ` <35D455AC.9225EAA7@hercii.mar.lmco.com>
1998-08-14  0:00           ` Robert L. Spooner
1998-08-10  0:00   ` Darren New
1998-08-07  0:00 ` harald.mueller
1998-08-07  0:00   ` Brian Rogoff
1998-08-07  0:00     ` Timothy Welch
1998-08-08  0:00       ` Dale Stanbrough
1998-08-08  0:00       ` Robert Dewar
1998-08-08  0:00         ` Larry Elmore
1998-08-08  0:00         ` Phlip
1998-08-08  0:00         ` Jeffrey C. Dege
1998-08-08  0:00           ` Patrick Logan
1998-08-10  0:00           ` Laurent GUERBY
1998-08-12  0:00             ` Andy Ward
1998-08-12  0:00               ` Matt Kennel
1998-08-14  0:00               ` Robert Dewar
1998-08-13  0:00                 ` nasser
1998-08-19  0:00                   ` Don Harrison
1998-08-14  0:00                 ` Ell
1998-08-17  0:00                   ` Robert I. Eachus
1998-08-17  0:00                     ` Patrick Logan
1998-08-18  0:00                       ` Samuel Tardieu
1998-08-14  0:00                 ` Jean-Pierre Rosen
1998-08-14  0:00                   ` Robert Martin
1998-08-16  0:00                     ` Robert Dewar
1998-08-16  0:00                       ` Robert Martin
1998-08-16  0:00                       ` Rick Smith
1998-08-17  0:00                         ` Robert Dewar
1998-08-17  0:00                           ` Rick Smith
1998-08-15  0:00                   ` Mr Ada
1998-08-16  0:00                     ` Robert Dewar
1998-08-15  0:00                   ` Patrick Doyle
1998-08-15  0:00                     ` Jean-Pierre Rosen
1998-08-16  0:00                       ` Robert Dewar
1998-08-17  0:00                         ` Jean-Pierre Rosen
1998-08-16  0:00                       ` Patrick Doyle
1998-08-16  0:00                   ` Robert Dewar
1998-08-14  0:00                 ` Patrick Doyle
1998-08-16  0:00                   ` Robert Dewar
1998-08-16  0:00                     ` Patrick Doyle
1998-08-16  0:00                   ` Robert Dewar
1998-08-16  0:00                     ` Patrick Doyle
1998-08-18  0:00                     ` Martin Tom Brown
1998-08-11  0:00           ` stilcom
1998-08-12  0:00             ` Jeffrey C. Dege
1998-08-12  0:00               ` Andrew Koenig
1998-08-14  0:00               ` Stefan Tilkov
1998-08-07  0:00   ` Robert Dewar
1998-08-08  0:00     ` Patrick Logan
1998-08-22  0:00 dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox