Global Arrays Logo
Skip repetitive navigation links
 

The GA Toolkit

The Global Arrays (GA) toolkit provides an efficient and portable “shared-memory” programming interface for distributed-memory computers. Each process in a MIMD parallel program can asynchronously access logical blocks of physically distributed dense multi-dimensional arrays, without need for explicit cooperation by other processes. Unlike other shared-memory environments, the GA model exposes to the programmer the non-uniform memory access (NUMA) characteristics of the high performance computers and acknowledges that access to a remote portion of the shared data is slower than to the local portion. The locality information for the shared data is available, and a direct access to the local portions of shared data is provided.

Global Arrays have been designed to complement rather than substitute for the message-passing programming model. The programmer is free to use both the shared-memory and message-passing paradigms in the same program, and to take advantage of existing message-passing software libraries. Global Arrays are compatible with the Message Passing Interface (MPI).

The Global Arrays toolkit has been in the public domain since 1994. It has been actively supported and employed in several large codes since then.

Highlights

Nov 12 2007 - Half-day tutorial followed by hands-on at Supercomputing'07. More info ...
October 22, 2007 - Release 4.0.8 available.
August 3, 2007 - Release 4.0.7 available.
June, 2007 - Release 4.0.6 available.

R&D 100 award for MS3 software package built upon and including Global Arrays (July 99).
SC'98Best Overall Paper Award won by a paper describing parallelization of the COLUMBUS code using Global Arrays and Distant I/O (Nov 1998).

Further Details

ARMCI one-sided communication library is used by the Global Arrays toolkit as its run-time system.
Global Arrays Operations have a unified subroutine interface across all the platforms.
Global Arrays Visualizer can be used to show access patterns to sections of arrays.
Interface To Other Software is provided as extension of the GA functionality.
Supported Platforms include many of distributed and shared memory machines.
Metacomputing and Parallel I/O extensions of Global Arrays have been developed.
Distribution copy of the toolkit is free of charge.
Extensions and new development  is funded by the DoE project on Programming Models for Scalable Parallel Computing.
Support page  provides additional information  on using Global Arrays on different platforms.
Mailing Lists  are available for the users of Global Arrays.
Applications span multiple areas.

Contact: Webmaster

Security & Privacy
Computational Sciences and Mathematics
Pacific Northwest National Laboratory