Parallel C and C++


SUMMARY
This project investigates languages extensions and class libraries to support the implementation of applications with dynamic structures on distributed memory parallel machines. The goal is to provide a high-level programming style as well as efficient runtime support.

PARTICIPATING INSTITUTIONS
NPAC, Syracuse University
Center for Advanced Studies, IBM Toronto Laboratory
IBM Research, Yorktown Heights
Los Alamos National Laboratory

KEY CONTACTS
Nancy McCracken | Research Scientist, NPAC | njm@npac.syr.edu | 315 443 4687
David Edelsohn | IBM Graduate Fellow | edelsohn@npac.syr.edu
Pankaj Kumar | IBM Graduate Fellow | pkumar@npac.syr.edu

IMPACT
To make possible efficient parallel implementation of an important class of scientific and industrial applications.

PROJECT DESCRIPTION
In C or C++, the use of pointers and dynamic memory allocators provide the ability to build more complex and irregularly connected data structures whose size and shape may vary as the computation proceeds. Such dynamic data structures are very useful in modeling certain applications such as N-body simulations, adaptive finite element methods, multi-target missile tracking, etc. Existing data parallel languages like C* or pC++ do not provide any support for the construction and manipulation of pointer based dynamic data strutures on distributed memory multiprocessors.

In this project, language extensions and class libraries are being developed to provide language support for developing these applications and efficient runtime support for the dynamic data distribution and load balancing required in a distributed memory implementation. One project develops task level and data parallel class libraries for a C++ implementation of an adaptive finite mesh used in a CFD code. Another develops language and runtime support for data parallel pointer-based structures in C and a prototype is being implemented on the CM5 using the NI interface.

REFERENCES

  1. Kumar, Pankaj and McCracken, Nancy J. "Language Support for Loosely Synchronous Data Parallelism," Technical Report, November 17, 1992, SCCS 380.
  2. Kumar, Pankaj. "Language Support in Pointer Based Dynamic Data Structures", Proceedings of CASCON93,, Toronto, Canada, Oct. 93
  3. Edelsohn, David. "A Generalized Expression Optimization Hook for C++ on High-Performance Architectures", submitted to 1994 Scalable High Performance Computing Conference, SCCS 561.
  4. Edelsohn, David, O'Farrel, Bill, and Gao, Guang. "A Survey of the Concurrent High Performance C++ Forest", in preparation.


Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu
This page maintained by Nancy McCracken, njm@npac.syr.edu