stringtranslate.com

Тесты LINPACK

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

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

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

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

История

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

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

Такой размер матрицы был выбран из-за ограничений памяти и процессора на тот момент:

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

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

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

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

Контрольные показатели

ЛИНПАК 100

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

ЛИНПАК 1000

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

HPLinpack

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

,

где

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

Эти результаты используются для составления списка TOP500 дважды в год с самыми мощными компьютерами в мире. [1] TOP500 измеряет их в формате с плавающей точкой двойной точности (FP64). Отношение R max к R peak называется параллельной эффективностью или эффективностью HPL. [11] Обычно оно ниже, чем больше узлов в системе из-за накладных расходов на связь. Например, Cray Y-MP 1990-х годов достигает около 90% эффективности HPL, [12] в то время как Frontier достигает около 70% в 2023 году. [13]

Реализации эталонных тестов LINPACK

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

HPL

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

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

Критика

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

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

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

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

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

Смотрите также

Ссылки

  1. ^ ab "The Linpack Benchmark, TOP500 Supercomputing Sites" . Получено 2015-02-10 .
  2. ^ abcde Донгарра, Джек Дж.; Лусчек, Петр; Петите, Антуан (2003), «Тест LINPACK: прошлое, настоящее и будущее» (PDF) , Параллелизм и вычисления: практика и опыт , 15 (9), John Wiley & Sons, Ltd.: 803–820, doi :10.1002/cpe.728, S2CID  1900724
  3. Интервью Джека Донгарры, взятое Сандером Олсоном, архивировано из оригинала 2016-03-04 , извлечено 2012-01-13
  4. ^ Донгарра, Джей-Джей; Молер, CB; Банч, младший; Стюарт, GW (1979), LINPACK: руководство пользователя, SIAM , ISBN 9780898711721
  5. ^ Донгарра, Джек (1988), «The LINPACK Benchmark: An Explain», Суперкомпьютерные вычисления (PDF) , Lecture Notes in Computer Science, т. 297, Springer Berlin/Heidelberg, стр. 456–474, doi :10.1007/3-540-18991-2_27, ISBN 978-3-540-18991-6
  6. ^ High Performance Linpack Benchmark (PDF) , получено 2015-02-10
  7. ^ Бейли, Д. Х.; Баршч, Э.; Бартон, Дж. Т.; Браунинг, Д. С.; Картер, Р. Л.; Дагум, Л.; Фатухи, Р. А.; Фредериксон, П. О.; Лазински, ТА; Шрайбер, Р. С.; Саймон, Х. Д.; Венкатакришнан, В.; Виратунга, С. К. (1991). "Параллельные тесты NAS — сводка и предварительные результаты". Труды конференции ACM/IEEE 1991 года по суперкомпьютерам — Supercomputing '91. Суперкомпьютер '91. Труды конференции ACM/IEEE 1991 года. стр. 158–165. doi :10.1145/125826.125925. ISBN 0897914597. S2CID  18046345.{{cite book}}: CS1 maint: местоположение ( ссылка ) CS1 maint: местоположение отсутствует издатель ( ссылка )
  8. ^ "LINPACK FAQ - Могу ли я использовать метод Штрассена при выполнении матричных множителей в тесте HPL или для запуска Top500?" . Получено 10.02.2015 .
  9. ^ "LINPACK FAQ - Какой точности должно соответствовать решение?" . Получено 2015-02-10 .
  10. ^ "LINPACK dlange" . Получено 2024-03-09 .
  11. ^ "Высокопроизводительный бенчмаркинг Linpack (HPL) - Теоретическая пиковая производительность Rpeak" . Получено 15.11.2023 .
  12. ^ "Y-MP C916/12256". TOP500 . 1995-12-01 . Получено 2023-11-15 .
  13. ^ "Frontier - HPE Cray EX235a, AMD оптимизированный 3-го поколения EPYC 64C 2 ГГц, AMD Instinct MI250X, Slingshot-11". TOP500 . 2023-11-12 . Получено 2023-11-15 .
  14. ^ "Программа тестирования Linpack на языке Fortran" . Получено 10.02.2015 .
  15. ^ "Linpack benchmark program in C" . Получено 2015-02-10 .
  16. ^ "Программа тестирования Linpack на Java" . Получено 2015-02-10 .
  17. ^ "HPL - Портативная реализация высокопроизводительного теста Linpack для компьютеров с распределенной памятью" . Получено 10 февраля 2015 г.
  18. ^ «Алгоритм HPL».
  19. ^ "Обзор HPL" . Получено 2015-02-10 .
  20. ^ "ИНТЕРВЬЮ С ЛЕГЕНДОЙ СУПЕРКОМПЬЮТЕРОВ ДЖЕКОМ ДОНГАРРОЙ". 2002-05-24.
  21. ^ Хейг, Томас (2004). «Интервью с Джеком Дж. Донгаррой» (PDF) . LINPACK — это эталонный тест, на который часто ссылаются, потому что он содержит в себе огромную историческую базу данных, его довольно легко запустить, его довольно легко понять, и он в некотором смысле охватывает лучшее и худшее в программировании.
  22. ^ Хаммонд, Стивен (1995), Beyond Machoflops: внедрение MPP в производственную среду
  23. ^ Гахвари, Хормозд; Хёммен, Марк; Деммель, Джеймс; Йелик, Кэтрин (2006), «Сравнительный анализ умножения разреженной матрицы на вектор за пять минут», SPEC Benchmark Workshop (PDF)
  24. ^ Донгарра, Джек Дж. (2007), «HPC Challenge Benchmark: Кандидат на замену Linpack в Top500?», SPEC Benchmark Workshop (PDF)
  25. ^ Кристофер Мимс (2010-11-08). «Почему новый китайский суперкомпьютер только технически самый быстрый в мире» . Получено 2011-09-22 .
  26. ^ Мейер, Мартин (2002-05-24). "ИНТЕРВЬЮ С ЛЕГЕНДОЙ СУПЕРКОМПЬЮТЕРОВ ДЖЕКОМ ДОНГАРРОЙ" . Получено 01.12.2022 .
  27. ^ Лусчек, Петр; Донгарра, Джек Дж.; Кестер, Дэвид; Рабенсейфнер, Рольф; Лукас, Боб; Кепнер, Джереми; Маккалпин, Джон; Бейли, Дэвид; Такахаши, Дайсуке (2005), Введение в набор тестов HPC Challenge (PDF)
  28. ^ Хемсот, Николь (26 июня 2014 г.). «Новый бенчмарк HPC дает многообещающие результаты». HPCWire . Получено 01.12.2022 .
  29. ^ Донгарра, Джек Дж. (2010). Тест LINPACK с ограничениями по времени на многоядерных и графических ускорителях (PDF) . Международная суперкомпьютерная конференция.

Внешние ссылки