Where Are They Now? Current Status of C++ Parallel Language Extensions and Libraries From 1995 Supercomputing Workshop 1
Parallel Programming Topics C++ parallel language extensions pC++, CC++, Mentat, MPC++, uC++, COOL, Charm++, C**, ICC++ C++ parallel libraries CHAOS++, A++/P++, LPARX, Scalapack++, POOMA, AIPS++
Three Status Categories No visible research being done on or with today Research being done on, not being used outside of research group Research being done on, and being used extensively for other projects
Focus of Today’s Presentation The language extensions and libraries Charm++ AIPS++ POOMA (if time) The topics What it was in 1995 What it is today What it is used for today
Charm Parallel extension of C++ created by CS dept Univ. of Illinois 2 Machine independent parallel programming system for MIMD machines, with or without shared memory Encore Multimax, Intel i860, IBM SP-1, CM-5, Network of Sun Sparc, HP 700, IBM RS6000 Portability, latency tolerance, reuse and modularity
Charm++ - Today 5/7/01 - Version released Has dynamic load balancing Works on all Win platforms, including Win2K on 64-bit itanium, Linux and Power Mac 5/13/01 – Report released on how to make Charm++ work in heterogeneous operating environments
Charm++ - Where It’s Used NAMD – an OO molecular dynamics code for simulation of large biomolecular systems Interactive Molecular Dynamics system Blue Gene Emulator IBM Blue Gene Computer 3 Simulating protein folding via molecular dynamics
AIPS Astronomical Information Processing System 4 Telescope data post-processor for calibration, editing, image formation, image enhancement, and analysis of images and data streams Written primarily in C++ Primary focus – radio astronomy
AIPS++ - Today Version 1.5 released May 2001 Primary focus is still radio astronomy More advanced GUI interfaces, calculation abilities Most of the research effort is going towards user-friendliness
AIPS++ - Where It’s Used DISH – an environment used for single dish radio astronomy analysis BIMA Image Pipeline 5 Green Bank Telescope (GBT) data processing 6 Used by hundreds of astronomers 7
POOMA – 1995 (Version r1) Parallel Object Oriented Methods and Applications, by Los Alamos Nat. Lab 8 High performance C++ toolkit for parallel scientific computation Code portability across serial, distibuted, parallel architectures Reusability, efficiency, reduced development time
POOMA – Today (version 2x) Open-source, maintained by Codesourcery 9 Message and thread-based parallelism for clusters and shared memory multiprocessors Asynchronous scheduler for out-of-order execution for cache coherency Runs on platforms ranging from laptops to ASCI BlueMountain supercomputer Working on version 2.4
POOMA – Where It’s Used One of programming platforms for Accelerated Strategic Computing Initiative (ASCI) 10 MC++ - Monte Carlo neutron transport simulations Earth system model framework Internal LANL projects
References 1. Gannon, Dennis. “Object Oriented Parallel Programming – A Workshop for Supercomputing ’95”. Copyright 1995, Association for Computing Machinery, Inc ex.html ex.html
References – Cont eases/00Releases/ AIPS.html eases/00Releases/ AIPS.html ma ma