software.wikisort.org - Язык_программированияGlobal Arrays (GA) — библиотека, разработанная учёными Тихоокеанской северо-западной национальной лаборатории (PNNL, DoE) для параллельных вычислений. GA предоставляет удобный программный интерфейс (API) для реализации общей памяти на компьютерах с распределённой памятью. Имеется продвинутая поддержка многомерных массивов. Библиотека GA является предшественником языков GAS (global address space), активно развиваемых для высокопроизводительных вычислений.[1][2][3][4]
Global Arrays (GA) |
Класс языка |
параллельный (односторонняя отправка сообщений), императивный (процедурный) |
Появился в |
1994 |
Выпуск |
5.2/2013-08-28 |
Система типов |
статическая |
Сайт |
hpc.pnl.gov/globalarrays… |
Инструментальный набор 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[5]
Набор библиотек GA является ПО с открытими исходными текстами. Используется собственная лицензия .
Примечания
-
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.
-
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.
- 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.
- 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 на Wayback Machine
- Gordon Bell Finalist at SC09 - GA Crosses the Petaflop Barrier (неопр.). PNNL (2009). Архивировано 29 сентября 2012 года.
См. также
ПО для распределённых и параллельных вычислений |
---|
Стандарты, библиотеки |
- OpenMPI
- Список многопоточных библиотек C++
|
---|
ПО для мониторинга |
- Ganglia
- Nagios
- Icinga
- Cacti
- Zabbix
- Munin
- Clumon
- Zenoss
- Collectd
- Microsoft SCOM
- Fujitsu SystemWalker
|
---|
Управляющее ПО |
- PBS (OpenPBS)
- TORQUE
- Cleo
- Maui
- Moab
- SLURM
- Red Hat Cluster Suite (Heartbeat
- Pacemaker
- Corosync)
|
---|
Параллельные вычисления |
---|
Общие положения |
- Высокопроизводительные вычисления
- Кластерные вычисления
- Распределённые вычисления
- Грид-вычисления
- Туманные вычисления
|
---|
Уровни параллелизма |
- Биты
- Инструкции
- Данные
- Задачи
|
---|
Поток выполнения |
- Суперпоточность
- Гиперпоточность
|
---|
Теория |
- Закон Амдала
- Закон Густавсона — Барсиса
- Эффективность затрат
- Метрика Карпа — Флэтта
- Замедление
- Коэффициент ускорения
|
---|
Элементы |
- Процесс
- Поток
- Файбер
- ПМПД
- Instruction window
|
---|
Взаимодействие |
- Многопроцессорность
- Многозадачность (Вытесняющая многозадачность
- Кооперативная многозадачность)
- Многопоточность
- Когерентность памяти
- Когерентность кэша
- Недействительность кэша
- Барьер
- Синхронизация
- Контрольная точка
|
---|
Программирование |
- Модели (Скрытый параллелизм
- Явный параллелизм
- Параллелизм)
- Таксономия Флинна
- Поток
- Неблокирующая синхронизация
|
---|
Компьютерная техника |
- Мультипроцессорность (Симметричная
- Асимметричная)
- Память (NUMA
- COMA
- Распределённая
- Разделяемая
- Распределённая разделяемая
- Транзакционная)
- Одновременная многопоточность
- MPP
- Суперскалярность
- Векторный процессор
- Матричный процессор
- Суперкомпьютер
- Beowulf
|
---|
API |
- Ateji PX
- POSIX Threads
- OpenMP
- OpenHMPP
- PVM
- MPI
- UPC
- Intel Threading Building Blocks
- Boost
- Global Arrays
- Charm++
- Cilk
- Co-array Fortran
- OpenCL
- CUDA
- FireStream
- Dryad
- DryadLINQ
|
---|
Проблемы |
- Затруднительное распараллеливание
- Чрезвычайная параллельность
- Проблемы Великого Вызова
- Блокировка ПО
- Масштабируемость
- Состояние гонки
- Взаимная блокировка
- Активный тупик
- Детерминированный алгоритм
- Параллельное замедление
|
---|
Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.
Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.org внимательно изучите правила лицензирования конкретных элементов наполнения сайта.
2019-2025
WikiSort.org - проект по пересортировке и дополнению контента Википедии