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++