LINPACK тесты

редактировать
Тесты LINPACK
Автор (ы) Джек Донгарра, Джим Банч, Клив Молер, и Гилберт Стюарт
Первый выпуск1979 (1979)
Веб-сайтwww.netlib.org / benchmark / hpl /

Тесты LINPACK являются мерой вычислительной мощности системы с плавающей запятой. Представленные Джеком Донгарра, они измеряют, насколько быстро компьютер решает плотное n на n система линейных уравнений Ax = b, которая является общей задачей в инженерии.

Последняя версия этих тестов используется для построения списка TOP500, рейтинг самых мощных суперкомпьютеров в мире.

T его цель - приблизительно оценить, насколько быстро компьютер будет решать реальные проблемы. Это упрощение, поскольку ни одна вычислительная задача не может отражать общую производительность компьютерной системы. Тем не менее, производительность теста LINPACK может обеспечить хорошую коррекцию пиковой производительности, указанной производителем. Пиковая производительность - это максимальная теоретическая производительность, которую может достичь компьютер, рассчитанная как частота машины в циклах в секунду, умноженная на количество операций за цикл, которые он может выполнить. Фактическая производительность всегда будет ниже максимальной. Производительность компьютера - сложная проблема, которая зависит от многих взаимосвязанных переменных. Производительность, измеренная тестом LINPACK, состоит из количества 64-битных операций с плавающей запятой, обычно сложений и умножений, которые компьютер может выполнять в секунду, также известных как FLOPS. Однако производительность компьютера при запуске реальных приложений, вероятно, будет намного ниже максимальной производительности, которую он достигает при выполнении соответствующего теста LINPACK.

Название этих тестов происходит от пакета LINPACK, набор функций алгебры Fortran, широко используемых в 1980-х годах и изначально тесно связанных с тестом LINPACK. Пакет LINPACK был заменен другими библиотеками.

Содержание
  • 1 История
  • 2 Тесты
    • 2.1 LINPACK 100
    • 2.2 LINPACK 1000
    • 2.3 HPLinpack
  • 3 Реализации тестов LINPACK
    • 3.1 HPL
  • 4 Критика
    • 4.1 Проблема времени выполнения
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

Отчет о тестировании LINPACK впервые появился в 1979 году как приложение к LINPACK руководство пользователя.

LINPACK был разработан, чтобы помочь пользователям оценить время, необходимое их системам для решения проблемы с использованием пакета LINPACK, путем экстраполяции результатов производительности, полученных с помощью 23 различных компьютеры, решающие матричную задачу размером 100.

Этот размер матрицы был выбран из-за ограничений памяти и ЦП в то время:

  • 10 000 записей с плавающей запятой от -1 до 1 генерируются случайным образом для заполнения общая, плотная матрица,
  • тогда, LU-разложение с частичным поворотом используется для определения времени.

С годами появляются дополнительные версии с разными размерами проблем, например, матрицы o rder 300 и 1000, и были выпущены ограничения, открывающие новые возможности оптимизации, поскольку аппаратные архитектуры начали реализовывать операции матрица-вектор и матрица-матрица.

Параллельная обработка была также представлена ​​в тесте LINPACK Parallel в конце 1980-х годов.

В 1991 году LINPACK был модифицирован для решения задач произвольного размера, что позволило высокопроизводительным компьютерам (HPC) приблизиться к своей асимптотической производительности.

Двумя годами позже этот тест был использован для измерения производительности первого списка TOP500.

Тесты

LINPACK 100

LINPACK 100 очень похожи на исходный тест, опубликованный в 1979 году вместе с руководством пользователя LINPACK. Решение получается с помощью исключения Гаусса с частичным поворотом, с 2 / 3n³ + 2n² операций с плавающей запятой, где n равно 100, порядок плотной матрицы A, который определяет проблему. Его небольшой размер и отсутствие гибкости программного обеспечения не позволяют большинству современных компьютеров достичь предела производительности. Тем не менее, он по-прежнему может быть полезен для прогнозирования производительности в коде, написанном пользователем с интенсивным числовым использованием, с использованием оптимизации компилятора.

LINPACK 1000

LINPACK 1000 может обеспечить производительность, близкую к пределу машины, потому что помимо предложения больший размер задачи, матрица порядка 1000, возможны изменения в алгоритме. Единственным ограничением является то, что относительная точность не может быть уменьшена, и количество операций всегда будет считаться равным 2 / 3n³ + 2n², с n = 1000.

HPLinpack

Предыдущее Тесты производительности не подходят для тестирования параллельных компьютеров, поэтому был представлен так называемый тест Linpack Highly Parallel Computing, или тест HPLinpack. В HPLinpack размер проблемы n можно сделать настолько большим, насколько это необходимо для оптимизации результатов производительности машины. Еще раз, 2 / 3n³ + 2n² будет принято в качестве количества операций, независимо от используемого алгоритма. Использование алгоритма Штрассена не допускается, так как он искажает реальную скорость выполнения. Точность должна быть такой, чтобы выполнялось следующее выражение:

‖ A x - b ‖ ‖ A ‖ ‖ x ‖ n ϵ ≤ O (1) {\ displaystyle {\ lVert Ax-b \ rVert \ over \ lVert A \ rVert \ lVert x \ rVert n \ epsilon} \ leq O (1)}{\ lVert Ax-b \ rVert \ over \ lVert A \ rVert \ lVert x \ rVert n \ epsilon} \ leq O (1) , где ϵ {\ displaystyle \ epsilon}\ epsilon - точность машины, а n - размер задачи: ‖ ⋅ ‖ {\ displaystyle \ lVert \ cdot \ rVert}\ lVert \ cdot \ rVert - это норма матрицы и O (1) {\ displaystyle O (1)}O (1) соответствует нотации big-O.

Для каждой компьютерной системы сообщаются следующие величины:

  • Rmax : производительность в GFLOPS для самой большой проблемы. выполняется на машине.
  • Nmax : размер самой большой проблемы, выполняемой на машине.
  • N1/2 : размер, при котором достигается половина скорости выполнения Rmax.
  • Rпиковая : теоретическая пиковая производительность, GFLOPS для машины.

Эти результаты используются для составления списка TOP500 дважды в год с использованием самых мощных компьютеров в мире.

Тест LINPACK реализует

В предыдущем разделе описаны основные правила для тестов. Фактическая реализация программы может отличаться, некоторые примеры доступны в Fortran,C или Java.

HPL

HPL - это переносимая реализация HPLinpack это было написано на C, первоначально как руководство, но теперь оно широко используется для предоставления данных для списка TOP500, хотя могут использоваться другие технологии и пакеты. HPL генерирует линейную систему уравнений порядка n и решает ее с помощью LU-разложения с частичным поворотом строк. Он требует установленных реализаций MPI и либо BLAS, либо для запуска.

В общих чертах алгоритм имеет следующие характеристики:

  • Циклическое распределение данных в 2D-блоках.
  • LU-факторизация с использованием правильного варианта с различной глубиной.
  • Рекурсивная факторизация панелей.
  • Шесть различных панелей широковещательных вариантов.
  • Алгоритм своп-широковещания, уменьшающий полосу пропускания.
  • Обратная подстановка с упреждающим просмотром на глубину 1.
Критика

Тест LINPACK считается успешным из-за масштабируемости HPLinpack, тот факт, что он генерирует единое число, что делает результаты легко сопоставимыми, а также обширную базу исторических данных, с которой он связан. Однако вскоре после выпуска тест LINPACK подвергся критике за обеспечение уровней производительности, «которые, как правило, недостижимы для всех, кроме очень небольшого числа программистов, которые утомительно оптимизируют свой код для этой машины и только для этой машины», потому что он проверяет только разрешение, которое не являются репрезентативными для всех операций, обычно выполняемых в научных вычислениях. Джек Донгарра, основная движущая сила тестов LINPACK, сказал, что, хотя они подчеркивают только "пиковую" скорость ЦП и количество ЦП, недостаточная нагрузка дается локальной пропускной способности и сети.

Том Даннинг-младший, директор Национального центра суперкомпьютерных приложений, сказал о тесте LINPACK следующее: «Тест Linpack - это одно из тех интересных явлений - почти любой, кто знает о нем, будет высмеивать его полезность. Они понимают его ограничения, но его нельзя не разделять, потому что это единственное число, которое мы все приняли за эти годы ».

Согласно Донг arra, «организаторы Top500 активно стремятся расширить объем отчетов по тестам», потому что «важно включить больше характеристик производительности и сигнатур для данной системы». Одной из возможностей, которая рассматривается как расширение эталонного теста для TOP500, является пакет HPC Challenge Benchmark Suite. С появлением компьютеров с петафокальным масштабом, пройденных фронтов в секунду начали появляться в качестве альтернативы метрике FLOPS, измеряемой LINPACK. Другой альтернативой является тест HPCG, предложенный Донгаррой.

Проблема времени выполнения

Согласно Джеку Донгарра, время, необходимое для получения Ожидается, что хорошие результаты производительности с HPLinpack увеличатся. На конференции, состоявшейся в 2010 году, он сказал, что ожидает, что продолжительность работы составит 2,5 дня за «несколько лет».

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-26 08:45:50
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте