swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Swarm-Modelling] Floating point arithmetic


From: Russell Standish
Subject: Re: [Swarm-Modelling] Floating point arithmetic
Date: Mon, 2 May 2005 09:51:50 +1000
User-agent: Mutt/1.4i

On Sun, May 01, 2005 at 11:03:20AM -0600, Marcus G. Daniels wrote:
> Russell Standish wrote:
> 
> >I am very *unconvinced* that we need yet another computer language to
> >solve the issues. C++ works extremely well in a high performance
> >setting, and its curious that it wasn't mentioned in any of those
> >articles (only Fortran, which is becoming more C++ like by the year).
> > 
> >
> I agree that C++ is versatile enough to provide the scalability sought 
> by Chapel and Fortress.  Existing commercial OpenMP compilers go a fair 
> ways toward that, as do packages POOMA 
> (http://savannah.nongnu.org/projects/freepooma).  The question is how 
> many people will run screaming in the process.   

Probably about as many people who run screaming from Java :)


> Both Microsoft and Sun 
> apparently felt C++'s user domain was limited, thus we have C# and Java.
> 

C# and Java were designed for a completely different application, the
web applet. Here performance is not necessary, but runtime portability
is. How successful they are is a matter of opinion - I always have
potability problems with Java (so I'm usually one of those who run
screaming from it) and C# in a nonwindows environment is a bit of a joke.

> The design of these two new languages is motivated by the DARPA HPCS 
> initative to improve programmer productivity for scientific and 
> engineering applications.  In other words, make it easy to learn a 
> modern object-oriented language while still providing crucial control 
> over locality and numerics, that, for example, Java lacks. 
> 
> Besides control, both languages contribute new functional ideas absent 
> in C++.   Fortress offers an object model based on Traits 
> (http://www.cse.ogi.edu/~black/publications/TR_CSE_02-012.pdf) and 
> Chapel introduces structural abstractions and operators on them from the 
> ZPL language 
> (http://www.cs.washington.edu/research/zpl/papers/papers.html).  For 
> example, in ZPL, one can declare that an array is sparse, and the 
> compiler will encode and traverse it appropriately. 
> 
> In terms of transparency to scientific users, Fortress facilitates 
> direct use of mathematical notion in programs.  This talk 
> (http://research.sun.com/sunlabsday/docs/Talks/Track1/1.02_steele.pdf) 
> has a variety of examples of that.
> 
> To me, the appeal of both languages is the emphasis is on performance 
> and full exploitation of logical concurrency.   Both companies have 
> novel multithreading products (Cray's MTA and Sun's Niagara/Rock), so 
> one can expect these companies to be motivated to implement these 
> languages and make them work well in the horizon of the 2007-2010 HPCS 
> delivery date.  
> Cray, IBM, and Sun's contracts are each about $50 million US.
> 
> Here are some slides on IBM's project, and its language called X10.
> http://www.research.ibm.com/vee04/Sarkar.pdf

All good computer science, no doubt, but practising computational
scientists are very slow at taking on new computer languages:

1) I learnt C++ in 1993/4, a decade after the language came out. At
   that time, it was completely unknown in computational science. Even
   C was considered a novelty at the time, barely registering in a
   world of Fortran77.

2) In 2004/5, it now makes up about 10-20% of the computational
   science use. Fortran account for 60-70%. The remainder (bar a few
   measly percent) is C.

3) Fortran 90 has probably only reached the tipping point in the last
   2-3 years within the Fortran community, a good 12-13 years after
   the language was first released. g95 has arrived at a good moment
   in history.

So these languages might be in widespread use in computational
sciencein say 2020? Personally, I doubt it - very few computer
languages make the big time. More liklely, these nifty new features
will be grafted onto Fortran20, or C++++. Who knows?

The most crucial aspect in adoption of any language is compilers
producing well optimised code for the big iron, open source versions
of the compilers for small systems, and decent libraries. The
availability of gcc with a good C++ compiler was probably the single
most important reason why C++ got a toehold in computational science
(I know it made a big difference to me when deciding whether to learn
C++ or Fortran 90).

Cheers

-- 
*PS: A number of people ask me about the attachment to my email, which
is of type "application/pgp-signature". Don't worry, it is not a
virus. It is an electronic signature, that may be used to verify this
email came from me if you have PGP or GPG installed. Otherwise, you
may safely ignore this attachment.

----------------------------------------------------------------------------
A/Prof Russell Standish                  Phone 8308 3119 (mobile)
Mathematics                                    0425 253119 (")
UNSW SYDNEY 2052                         address@hidden             
Australia                                http://parallel.hpc.unsw.edu.au/rks
            International prefix  +612, Interstate prefix 02
----------------------------------------------------------------------------

Attachment: pgphumKKQc6N5.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]