Русская Википедия:NAS Parallel Benchmarks

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы NAS Parallel Benchmarks — набор тестов производительности нацеленных на проверку возможностей высокопараллельных суперкомпьютеров. Они были разработаны в начале 1990-х годов в рамках программы NASA Numerical Aerodynamic Simulation Program[1] и поддерживаются в NASA Advanced Supercomputing (NAS) Division, расположенном в NASA Ames Research Center.

История

Более ранние, чем NPB, пакеты тестовых программ, такие как Livermore loops, LINPACK Benchmark и NAS Kernel Benchmark Program, были ориентированны на векторные компьютеры. Многие из них быстро стали неадекватны, в том числе из-за ограничений, связанный с настройкой наведённого параллелизма, и недостаточного размера проблем, которые не соответствовали параллельным системам. Также плохо для них подходили и промышленные приложения, работающие в режиме оценки производительности, из-за большой стоимости портирования их на параллельную систему и невозможности автоматического их распараллеливания на большие системы.

Набор тестов NAS Parallel Benchmarks был разработан в 1991—1992 годах в NASA Ames[1]. Целью создания пакета тестов стала возможность оценить производительность суперкомпьютеров за несколько часов. В пакет вошли вычислительные ядра, наиболее часто возникавшие при численном моделировании полёта космического аппарата при решении задач гидро- и аэродинамики[1].

Изначально создателями NPB был создан набор правил и рекомендаций для реализации тестов, задающая допустимые языки программирования, алгоритмы, размерности данных, ограничения на распараллеливание, организации ввода и вывода данных, замера времени и публикации результатов. В первой выпущенной версии, NPB 1, было определено 8 тестов (EP, MG, CG, FT, LU, SP, BT[2]) и предоставлялись примеры реализации на Fortran 77[3].

Затем ими была написана публично доступная программная реализация, получившая версию 2.0 (1995—1996 годы[4]). В версиях 2.3 (1997) и 2.4 (2002) пакет NPB был дополнен вариантом, распараллеленным с помощью стандарта MPI.

В версии NPB 3 были добавлены реализации с распараллеливанием OpenMP, а также на языках Java и High Performance Fortran.

Тесты

В версии 3.3 пакет NPB 3.3 включает в себя 11 тестов.

Тест Полное название[5] Версия появления Описание[5] Замечания
MG MultiGrid — множественная сетка NPB 1[2][5] Аппроксимация решения трёхмерного дискретного уравнения Пуассона при помощи V-циклового многосеточного метода
CG Conjugate Gradient — сопряжённый градиент Приближение к наименьшему собственному значению большой разреженной симметричной положительно-определённой матрицы с использованием inverse iteration вместе с методом сопряжённых градиентов в качестве подпрограммы для решения СЛАУ
FT Fast Fourier Transform — Быстрое преобразование Фурье Решение трёхмерного уравнения в частных производных при помощи Быстрого преобразования Фурье (FFT)
IS Integer Sort — сортировка целых Сортировка малых целых чисел при помощи карманной сортировки[6]
EP Embarrassingly Parallel — Чрезвычайно параллельный Генерация независимых нормально распределённых случайных величин при помощи en:Marsaglia polar method
BT Block Tridiagonal Решает синтетическую систему нелинейных диф. уравнений в частных производных (3-мерная система уравнений Навье — Стокса для сжимаемой жидкости или газа), используя три алгоритма: блочная трёхдиагональная схема с методом переменных направлений (BT), скалярная пятидиагональная схема (SP) и метод симметричной последовательной верхней релаксации (алгоритм SSOR, задача LU).
  • У теста BT есть подтип с большой интенсивностью ввода-вывода[7]
  • Все три версии теста имеют мультизонные варианты[8]
SP Scalar Pentadiagonal[9] — Скалярный пентадиагональный
LU Lower-Upper разложение при помощи симметричного метода Гаусса — Зейделя [9]
UA Unstructured Adaptive[10] — Неструктурированный адаптивный NPB 3.1[11] Решение уравнения теплопроводности с учётом диффузии и конвекции в кубе. Источник тепла подвижен, сетка нерегулярна и меняется каждые 5 шагов.[12] Используется 3D Mortar method
DC Data Cube operator — оператор «куб данных»[13]
DT Data Traffic[11][14] — трафик данных NPB 3.2[11]  Симуляция обменов данными между узлами-источниками, узлами-обработчиками и узлами-потребителями Только MPI-версия

Литература

Примечания

Шаблон:Примечания

Ссылки

  1. 1,0 1,1 1,2 Шаблон:Cite web
  2. 2,0 2,1 David H Bailey, The NAS Parallel Benchmarks Шаблон:Wayback // David Padua, ed., Encyclopedia of Parallel Computing, Springer, Nov 2009.
  3. Baily, D.; Barscz, E.; Barton, J.; Browning, D.; Carter, R.; Dagum, L.; Fatoohi, R.; Fineberg, S.; Frederickson, P.; Weeratunga, S. (March 1994), "The NAS Parallel Benchmarks Шаблон:Wayback", NAS Technical Report RNR-94-007, NASA Ames Research Center, Moffett Field, CA.
  4. Bailey, D.; Harris, T.; Saphir, W.; van der Wijngaart, R.; Woo, A.; Yarrow, M. (December 1995), "The NAS Parallel Benchmarks 2.0", Шаблон:Webarchive, NAS Technical Report NAS-95-020, NASA Ames Research Center, Moffett Field, CA.
  5. 5,0 5,1 5,2 Шаблон:Citation Шаблон:Cite web
  6. Шаблон:Citation Шаблон:Cite web
  7. Шаблон:Citation Шаблон:Cite web
  8. Шаблон:Citation Шаблон:Cite web
  9. 9,0 9,1 Шаблон:Citation Шаблон:Cite web
  10. Шаблон:Citation Шаблон:Cite web
  11. 11,0 11,1 11,2 Шаблон:Cite web
  12. http://www.exascale.ru/shmem.pdfШаблон:Dead link; Альтернативные модели программирования Высокоскоростных коммуникационных сетей Шаблон:Wayback, Корж А. А., НИЦЭВТ, с. 31.
  13. Шаблон:Citation Шаблон:Cite web
  14. Communication Intensive Grid Benchmark DTШаблон:Недоступная ссылка // NASA Ames, 2004.