OVERVIEW: Global Arrays [2] (Pacific Northwest Laboratory) provides a potable interface through which each process in a MIMD parallel program can asynchronously access logical blocks of physically distributed matrices, with no need for explicit cooperation by other processes. The package is targeted to a class of applications in computational chemistry (specifically, computation of the electronic structure crystalline chemical systems). GA applications may be written in C or Fortran 77.
DYNAMIC/STATIC: Supports dynamic creation/deletion of distributed arrays
DIMENSIONS SUPPORTED: dimensional arrays only
DATA TYPES SUPPORTED: Integer, Double
PROGRAMMING MODEL:
MIMD parallelism using a muti-process approach
Note:
Creation, distribution, & deletion of arrays and arrays
operations must be performed
\
synchronously
Data-parallel BLAS-like operators provided with implicit
synchronization
CONSISTENCY: Consistency guaranteed only for disjoint update and global accumulate operations. In all other cases explicit synchronization must be used to guarantee consistency
DISTRIBUTION: Regular or irregular, user-specified blockwise distribution with at most one block per array per processor
ACCESS SCHEME:
Direct asynchronous access to global array sections using
GA access routines
Asynchronous gather/scatter operation on the global array
Support for explicit message passing
PROGRAMMING INTERFACE: Fortran 77, C; only Fortran (1-based) array indexing is supported
COMMUNICATION HARNESS:
Interrupt-driven communication system on distributed memory
\
message-passing machines
TCGMSG (using a data-sever model) on networked workstations
PLATFORMS SUPPORTED: Intel Gamma, Delta, Paragon; SP-1; KSR-1; SGI, SUN Workstation clusters
TARGET APPLICATION DOMAIN: Computational chemistry - electronic structure computation of small or crystalline structures
MISCELLANEOUS FEATURES:
Global Array Visualization Tool:
\
Trace-based animation and visualization of accesses to distributed
arrays
TOOL HOME PAGE: GA