Computational Accelerator Physics Grand Challenge: Utilization of HPCC Technologies

HPCC Centers and Platforms

For this project we have teamed with both the National Energy Research Scientific Computing Center (NERSC) located at Lawrence Berkeley National Laboratory and the Advanced Computing Laboratory (ACL) located at Los Alamos National Laboratory. At NERSC we will use two approaches: (1) High Performance Fortran (HPF) augmented by utility and applications libraries, and (2) Fortran90 and C++ with message passing. At the ACL the emphasis will be on parallel object-oriented techniques with message passing, using both Fortran90 and the (POOMA) (Parallel Object-Oriented Methods and Applications) framework, a parallel class library developed at the ACL that is based on C++. In both cases our guiding principle will be to develop portable, modular software that can run on massively parallel processors (MPPs), shared memory processors (SMPs), and clustered SMPs, in environments equipped with HPF, Fortran90 with message passing, or C++ with message passing.

NERSC has received a Cray T3E which, by July of 1997, will have 512 processors, a total memory of 128 GB and a theoretical peak speed of approximately 500 GFLOPS. Though the exact details of the final ACL platform are not known, it will initially be a cluster of several 128 processor SGI/Cray Origin 2000's with a total memory of 64+ GB and theoretical peak speed of 200+ GFLOPS. This configuration will be upgraded to the TFLOP range by 1998 with 250+ GB of memory. The programming paradigm will support Fortran90 and C++ with message passing upon which application frameworks are to be constructed.

Programming Approaches

At present, there are two main parallel programming paradigms: (1) data parallel, in which all processors execute the same instructions or run the same programs on different data, and (2) message-passing, where every processor can run a different program and communicates with other processors via message-passing libraries. An example of the data parallel approach is High Performance Fortran. The two most popular message passing libraries are MPI and PVM.

Our project is aimed at the solution of complex problems for which no single programming approach is optimal. There are instances where one or the other of these approaches is the most appropriate to the specific sub-problem at hand, therefore we do not restrict ourselves to using just one of them. A very promising approach (mixed-mode programming) is to use a data parallel language such as HPF that includes the ability to call other, for example message passing, routines as needed. This is a feature of the HPF compiler from the Portland Group, which is supported on the NERSC T3E. Another promising approach is to use object-oriented techniques. These allow one to write scientific programs which are easier to understand, modify, share, explain and extend. As a result, much more ambitious programming projects involving multiple authors can be managed. Efforts in this realm will be carried out at the ACL using the POOMA framework and at NERSC and the ACL using object-oriented features of Fortran90 with message passing.

Our particle simulation effort will make use of optimized routines provided by Viktor Decyk of UCLA, who has developed a library of subroutines useful for Particle-in-Cell (PIC) codes on massively parallel computers. This library, called PLIB, was developed as part of the Numerical Tokamak Project, a DOE-funded HPCC project, and is used in several production gyrokinetic particle codes. Written in Fortran77 with message passing, it contains all the critical subroutines needed in a PIC code which require communication, and can be used by someone who has no knowledge of message-passing. This library will be used as a base code and specialized to the needs of the accelerator community. Since it has been written so that it could run either with a distributed memory or a shared memory programming model, it could be incorporated into codes which use either model. UCLA also has considerable expertise in optimization of PIC codes for MPPs, and is also a pioneer in using object-oriented techniques in Fortran90. As part of this project, the PLIB library will be modified into a class library.

Back to Background Information.

Back to main page.

Salman Habib / T-8 / LANL / habib@lanl.gov / revised March 97