[comp.object] Parallelism and OOPSs/Number crunching

gda@creare.creare.UUCP (Gray Abbott) (10/09/89)

With respect to the discussion on parallelism in OOP, is anyone
doing work on using OOP languages (e.g. C++) for computationally-intensive
applications, such as computational fluid dynamics (CFD), for
high-performance hardware (e.g. Cray)?  I'm especially interested
in the possibility of using C++ to "hide" the vectorization of
computations, so that the programs are more transparent, without
sacrificing too much in performance (or even improving performance
by increasing the amount of code that is effectively vectorized).
Know of anything like that?

wayne@schaefer.MATH.WISC.EDU (Rick Wayne) (10/10/89)

In article <GDA.89Oct9114712@creare.creare.UUCP> gda@creare.creare.UUCP (Gray Abbott) writes:
>
>I'm especially interested
>in the possibility of using C++ to "hide" the vectorization of
>computations, so that the programs are more transparent, without
>sacrificing too much in performance (or even improving performance
>by increasing the amount of code that is effectively vectorized).

this is what i was trying to get at in the original posting.  (thanks for
the education on the way, folks!)

i was confusing distribution with parallelism; sloppy thinking on my part.
however, i keep wondering that if you solve the synchronization problem 
inherent in distributed code, might you not get parallelism for free?
actually, i guess it would probably be the other way around -- make your
code parallel, and the rendezvous-ing involved would obviate explicit
synchronization.  so the programmer still has to sweat decomposition
and vectorizing if the compiler doesn't.

rw

mccalpin@masig3.ocean.fsu.edu (John D. McCalpin) (10/12/89)

In article <GDA.89Oct9114712@creare.creare.UUCP>, gda@creare.creare.UUCP 
(Gray Abbott) writes:

>With respect to the discussion on parallelism in OOP, is anyone
>doing work on using OOP languages (e.g. C++) for computationally-intensive
>applications, such as computational fluid dynamics (CFD), for
>high-performance hardware (e.g. Cray)?  I'm especially interested
>in the possibility of using C++ to "hide" the vectorization of
>computations, so that the programs are more transparent, without
>sacrificing too much in performance (or even improving performance
>by increasing the amount of code that is effectively vectorized).
>Know of anything like that?

I know of two projects along those lines.

First, the GIBBS project at Cornell (under Kenneth Wilson) is making
use of C++ to write scientific number-crunching codes in a much
higher-level syntax.  I believe that they are using cfront to generate
C code to run on the Cray machines (through Cray's new vectorizing C
compiler).

Second, there is a project funded by the Institute for Naval
Oceanography (in Bay St. Louis, Mississippi), which is writing a large
ocean model in C++.  I believe that the emphasis is on modularity, so
that, for example, the turbulent diffusion calculations could be
easily replaced without effecting the rest of the code.

Sorry I don't have the names of people involved in these projects....
--
John D. McCalpin - mccalpin@masig1.ocean.fsu.edu
		   mccalpin@scri1.scri.fsu.edu
		   mccalpin@delocn.udel.edu

dixon@sagittarius.crd.ge.com (walt dixon) (10/12/89)

In article MCCALPIN.89Oct11154351@masig3.ocean.fsu.edu John D. McCalpin
writes
>>With respect to the discussion on parallelism in OOP, is anyone
>>doing work on using OOP languages (e.g. C++) for computationally-intensive
...
>Second, there is a project funded by the Institute for Naval
>Oceanography (in Bay St. Louis, Mississippi), which is writing a large
>ocean model in C++.  I believe that the emphasis is on modularity, so
>that, for example, the turbulent diffusion calculations could be
>easily replaced without effecting the rest of the code.

>Sorry I don't have the names of people involved in these projects....

The second project is named DAIMS (Data Analysis and Interactive Modeling
System).  The principal investigators are Tom Keffer and Dale Haidvogel.
The other name mentioned in the documentation I have seen is Bruce Eckel.
The documentation I've seen gives the following addresses for Bruce Eckel
and Tom Keffer

eckel@sperm.ocean.washington.edu
uw-beaver!sperm.ocean.washington.edu!eckel
keffer@sperm.ocean.wasington.edu
uw-beaver!sperm.ocean.washington.edu!keffer


Walt Dixon		{arpa:		dixon@crd.ge.com	}
			{us mail:	ge-crd			}
			{		po box 8		}
			{		schenectady, ny 12301	}
			{phone:		518-387-5798		}
Walt Dixon dixon@crd.ge.com

steve@hubcap.clemson.edu ("Steve" Stevenson) (10/12/89)

From article <MCCALPIN.89Oct11154351@masig3.ocean.fsu.edu>, by mccalpin@masig3.ocean.fsu.edu (John D. McCalpin):
> In article <GDA.89Oct9114712@creare.creare.UUCP>, gda@creare.creare.UUCP 
> (Gray Abbott) writes:
> 
> I know of two projects along those lines.
> 
> First, the GIBBS project at Cornell (under Kenneth Wilson) is making
> use of C++ to write scientific number-crunching codes in a much
> higher-level syntax.

GIBBS has moved to ohio state when Ken Wilson and wife Allyson Brown moved.
Allyson is the computer scientist.

-- 
Steve (really "D. E.") Stevenson           steve@hubcap.clemson.edu
Department of Computer Science,            (803)656-5880.mabell
Clemson University, Clemson, SC 29634-1906