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.