| Global Arrays (GA) | |
|---|---|
| Paradigm | parallel,one-sided message passing,imperative (procedural),structured |
| First appeared | 1994 |
| Stable release | 5.8.2/November 2022 (2022-11) |
| Typing discipline | static,weak |
| OS | Cross-platform |
| Website | hpc |
Global Arrays, orGA, is the library developed by scientists atPacific Northwest National Laboratory forparallel computing. GA provides a friendlyAPI for shared-memory programming on distributed-memory computers for multidimensional arrays. The GA library is a predecessor to the GAS (global address space) languages currently being developed for high-performance computing.[1][2][3][4]
The GA toolkit has additional libraries including a Memory Allocator (MA), Aggregate Remote Memory Copy Interface (ARMCI), and functionality for out-of-core storage of arrays (ChemIO). Although GA was initially developed to run with TCGMSG, a message passing library that came before the MPI standard (Message Passing Interface), it is now fully compatible with MPI. GA includes simple matrix computations (matrix-matrix multiplication, LU solve) and works withScaLAPACK. Sparse matrices are available but the implementation is not optimal yet.
GA was developed by Jarek Nieplocha, Robert Harrison, R. J. Littlefield, Manoj Krishnan, and Vinod Tipparaju. The ChemIO library for out-of-core storage was developed by Jarek Nieplocha, Robert Harrison andIan Foster.
The GA library is incorporated into many quantum chemistry packages, includingNWChem,MOLPRO,UTChem,MOLCAS, andTURBOMOLE. The GA library is also incorporated into sub-surface codeSTOMPArchived 2013-02-13 at theWayback Machine[5]
The GA toolkit isfree software, licensed under aself-made licenseArchived 2019-04-05 at theWayback Machine.