next previous
Next: Canopy Up: Scalable Distributed Dynamic Grids: A Previous: NNT

A++/P++

OVERVIEW: A++ & P++ [6,7,8] (University of Colorado & Los Alamos National Laboratory) are object-oriented array class libraries for structured grid applications. A++ is serial library for use on serial machines or single processors of parallel distributed architectures. P++ is a corresponding parallel array class library for structured grid applications on distributed memory multiprocessor architectures. Both, A++ and P++ support a C++ programming interface with Fortran 90 like array extensions

RELATED SYSTEMS:

VSG: Virtual Shared Grids (based on P++)
AMR++: Serial class library for adaptive mesh refinement (based on A++)

STATIC/DYNAMIC: Dynamic

ARRAY DIMENSIONS SUPPORTED: to 8 dimensions (specified at compile time)

DATA-TYPES SUPPORTED: integer, float, double

PROGRAMMING MODEL: SPMD data parallel; parallelism expressed as array statements

CONSISTENCY: Guaranteed between array statements

DISTRIBUTION: Automatic distribution in multiple dimensions. Can be optionally controlled by the user

ACCESS SCHEME: Fortran 90 like array triplets with constant stride using special index objects; scalar indexing supported by A++

PROGRAMMING INTERFACE: C++ with Fortran 90 like array extensions; where/elsewhere construct supported

COMMUNICATION HARNESS: P++ uses either PVM or MPI - can be specified at compile time

PLATFORMS: Unix workstations (current distribution)

TARGET APPLICATION DOMAIN: Structured Grid Applications

TOOL HOME PAGE: A++/P++



Manish Parashar, parashar@cs.utexas.edu