Global Arrays

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Global Arrays (GA)
Класс языка параллельный (односторонняя отправка сообщений), императивный (процедурный)
Появился в 1994
Выпуск 5.8.2/2022-11-03[1]
Система типов статическая
Лицензия BSD-3-Clause[2]
Сайт hpc.pnl.gov/globalarrays/index.shtml
github.com/GlobalArrays/ga/

Global Arrays (GA) — библиотека, разработанная учёными Тихоокеанской северо-западной национальной лаборатории (PNNL, DoE) для параллельных вычислений. GA предоставляет удобный программный интерфейс (API) для реализации общей памяти на компьютерах с распределённой памятью. Имеется продвинутая поддержка многомерных массивов. Библиотека GA является предшественником языков GAS (global address space), активно развиваемых для высокопроизводительных вычислений.[3][4][5][6]

Инструментальный набор GA включает в себя дополнительные библиотеки: Memory Allocator (MA), Aggregate Remote Memory Copy Interface (ARMCI), и функциональность по хранению массивов на внешних устройствах (ChemIO). Изначально GA был разработан для работы с библиотекой передачи сообщений TCGMSG, позже был адаптирован к MPI. GA включает в себя набор простых операций над матрицами (умножение матриц, LU разложение) и интегрируется с ScaLAPACK. Также имеется реализация алгоритмов для обработки разреженных матриц.

GA создана Jarek Nieplocha, Robert Harrison и R. J. Littlefield. Библиотеку ChemIO разработали Jarek Nieplocha, Robert Harrison и Ian Foster.

Библиотека GA включена в несколько популярных пакетов для квантовой химии, включая NWChem, MOLPRO, UTChem, MOLCAS, TURBOMOLE. Также используется в STOMP[7]

Набор библиотек GA является ПО с открытими исходными текстами. Используется собственная лицензия [1].

Примечания

[править | править код]
  1. Releases • Global Arrays/ga • GitHub.
  2. ga/LICENSE at develop • Global Arrays/ga • GitHub.
  3. Nieplocha, Jarek; Harrison, Robert. Shared Memory Programming in Metacomputing Environments: The Global Array Approach (англ.) // The Journal of Supercomputing[англ.] : journal. — 1997. — Vol. 11, no. 2. — P. 119. — doi:10.1023/A:1007955822788.
  4. Nieplocha, Jarek. Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit (англ.) // International Journal of High Performance Computing Applications[англ.] : journal. — 2006. — Vol. 20, no. 2. — P. 203. — doi:10.1177/1094342006064503.
  5. Nieplocha, Jaroslaw; Harrison, Robert J.; Littlefield, Richard J. Global arrays: A nonuniform memory access programming model for high-performance computers (англ.) // The Journal of Supercomputing[англ.] : journal. — 1996. — Vol. 10, no. 2. — doi:10.1007/BF00130708.
  6. Tipparaju, Vinod; Krishnan, Manoj; Palmer, Bruce; Petrini, Fabrizio; Nieplocha, Jarek. Towards Fault Resilient Global Arrays // Parallel Computing: Architectures, Algorithms and Applications (англ.) / Bischof, Christian; Bücker, Martin; Gibbon, Paul; Joubert, Gerhard R.; Lippert, Thomas; Mohr, Bernd; Peters, Frans. — Amsterdam: IOS Press[англ.], 2008. — Vol. 15. — P. 339—345. — (Advances in Parallel Computing). — ISBN 978-1-58603-796-3. Архивировано 6 марта 2021 года.
  7. Gordon Bell Finalist at SC09 - GA Crosses the Petaflop Barrier. PNNL (2009). Архивировано 29 сентября 2012 года.