Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

GAiN: Distributed Array Computation with Python

Thesis/Dissertation ·
DOI:https://doi.org/10.2172/1006323· OSTI ID:1006323
 [1]
  1. Washington State Univ., Pullman, WA (United States)

Scientific computing makes use of very large, multidimensional numerical arrays - typically, gigabytes to terabytes in size - much larger than can fit on even the largest single compute node. Such arrays must be distributed across a "cluster" of nodes. Global Arrays is a cluster-based software system from Battelle Pacific Northwest National Laboratory that enables an efficient, portable, and parallel shared-memory programming interface to manipulate these arrays. Written in and for the C and FORTRAN programming languages, it takes advantage of high-performance cluster interconnections to allow any node in the cluster to access data on any other node very rapidly. The "numpy" module is the de facto standard for numerical calculation in the Python programming language, a language whose use is growing rapidly in the scientific and engineering communities. numpy provides a powerful N-dimensional array class as well as other scientific computing capabilities. However, like the majority of the core Python modules, numpy is inherently serial. Our system, GAiN (Global Arrays in NumPy), is a parallel extension to Python that accesses Global Arrays through numpy. This allows parallel processing and/or larger problem sizes to be harnessed almost transparently within new or existing numpy programs.

Research Organization:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
1006323
Report Number(s):
PNNL--18355
Country of Publication:
United States
Language:
English

Similar Records

Automatic Parallelization of Numerical Python Applications using the Global Arrays Toolkit
Conference · Tue Nov 29 23:00:00 EST 2011 · OSTI ID:1038396

PythonFOAM: In-situ data analyses with OpenFOAM and Python
Journal Article · Thu Jun 23 00:00:00 EDT 2022 · Journal of Computational Science · OSTI ID:1909464

Improving Runtime Performance of Tensor Computations using Rust From Python
Technical Report · Wed Oct 01 00:00:00 EDT 2025 · OSTI ID:2999092