A++/P++ - Object-Oriented array class library <description><url>http://www.acl.lanl.gov/sunrise/POOMA/aplusplus.html</url> <abstract> A++ is a serial array class library intended for use on either serial machines or single processors of parallel distributed memory architectures. It's P++ equivalent allows for simulation on parallel architectures with no change to the A++ syntax. A++/P++ was written by Dan Quinlan and co-workers in CIC-3. It is implemented in two layers, a machine independent layer in C++ and a machine dependent layer tuned for the vector and memory properties of the target machine. A++/P++ is designed for both high efficiency and portability. A++/P++ provides arrays of from one to four dimensions. Array operators and functions operate on the arrays independently of the array dimensions. The syntax associated with the manipulation of the arrays is very similar to FORTRAN 90 array extensions. A++/P++ represents arrays as objects, specifically arrays of double, float, and integer. Each type of array is defined as a class; each class overloads the standard arithmetic and relational operators. Additional functions overload the standard math library functions, such as sqrt() and con(), and so provide equivalent operations for array objects. <environment> Machine dependent layers have been implemented on the Cray, CM-5 and Unix workstations. <contact> Jeff Brown (jxyb@lanl.gov) Richard Barrett (rbarrett@lanl.gov) Bob Boland (wrb@lanl.gov) Suresh Damodaran-Kamal (dk@lanl.gov) MaryDell Tholburn (marydell@lanl.gov) <keywords>distributed array; distributed memory mutliprocessor; sequential architecture; object library; high level parallel library; runtime system; data parallelism; structured grid; architecture independence <category>ppt-pplib <reference> Max Lemke and Daniel Quinlan, ``P++, a C++ Virtual Shared Grids Based Programming Environment for Architecture-Independent Development of Structured Grid Applications'', Lecture Notes in Computer Science, Parallel Processing: CONPAR 92 - VAPP V, Springer Verlag, pp. 121-126, Sep. 1992, Proceedings of the Second Joint International Conference on Vector and Parallel Processing, Lyon, France. Rebecca Parsons, ``A++/P++ Array Classes for Architecture Independent Finite Difference Computations'', OON-SKI'94 - The Object-Oriented Numerics Conference, Sunriver, Oregon, pp. 408-418, Apr. 1994. </urc>