stringtranslate.com

Тесты LINPACK

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

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

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

Название этих тестов происходит от пакета LINPACK , набора алгебраических подпрограмм Фортрана , широко используемых в 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³ + 2n² операций с плавающей запятой, где n равно 100, порядку плотной матрицы A , которая определяет проблему. Его небольшой размер и отсутствие гибкости программного обеспечения не позволяют большинству современных компьютеров достичь предела производительности. Тем не менее, прогнозирование производительности в коде, написанном пользователем, с интенсивным числом вычислений все равно может быть полезно с помощью оптимизации компилятора. [2]

ЛИНПАК 1000

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

HPLinpack

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

, где — точность машины, а n — размер задачи, [9]матричная норма (наибольшая сумма строк [10] ) и соответствует обозначению big-O .

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

Эти результаты используются для составления списка TOP500 два раза в год с участием самых мощных компьютеров в мире. [1] TOP500 измеряет их в формате двойной точности с плавающей запятой (FP64). Отношение Rmax к Rpeak называется параллельной эффективностью или эффективностью HPL. [11] Обычно оно тем ниже, чем больше узлов имеет система из-за накладных расходов на связь. Например, Cray Y-MP 1990-х годов достигает эффективности HPL около 90% [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 «Тест Linpack, TOP500 суперкомпьютерных сайтов» . Проверено 10 февраля 2015 г.
  2. ^ abcde Донгарра, Джек Дж.; Лущек, Петр; Петите, Антуан (2003), «Показатель LINPACK: прошлое, настоящее и будущее» (PDF) , Параллелизм и вычисления: практика и опыт , 15 (9), John Wiley & Sons, Ltd.: 803–820, doi : 10.1002 /cpe.728, S2CID  1900724
  3. Интервью Джека Донгарры с Сандером Олсоном, заархивировано из оригинала 4 марта 2016 г. , получено 13 января 2012 г.
  4. ^ Донгарра, Джей-Джей; Молер, CB; Банч, младший; Стюарт, GW (1979), LINPACK: руководство пользователя, SIAM , ISBN 9780898711721
  5. ^ Донгарра, Джек (1988), «Бенчмарк LINPACK: объяснение», Суперкомпьютеры (PDF) , Конспекты лекций по информатике, том. 297, Springer Berlin/Heidelberg, стр. 456–474, номер документа : 10.1007/3-540-18991-2_27, ISBN. 978-3-540-18991-6
  6. ^ Тест высокой производительности Linpack (PDF) , получено 10 февраля 2015 г.
  7. ^ Бейли, Д.Х.; Барщ, Э.; Бартон, Джей Ти; Браунинг, Д.С.; Картер, РЛ; Дагум, Л.; Фатухи, РА; Фредериксон, ПО; Ласински, Т.А.; Шрайбер, Р.С.; Саймон, HD; Венкатакришнан, В.; Виратунга, СК (1991). «Параллельные тесты NAS — краткие и предварительные результаты». Материалы конференции ACM/IEEE 1991 года по суперкомпьютерам - Суперкомпьютеры '91. Суперкомпьютеры '91. Материалы конференции ACM/IEEE 1991 года. стр. 158–165. дои : 10.1145/125826.125925. ISBN 0897914597. S2CID  18046345. {{cite book}}: |journal=игнорируется ( помощь )CS1 maint: местоположение ( ссылка ) CS1 maint: местоположение отсутствует издатель ( ссылка )
  8. ^ «Часто задаваемые вопросы по LINPACK — Могу ли я использовать метод Штрассена при умножении матрицы в тесте HPL или при запуске Top500?» . Проверено 10 февраля 2015 г.
  9. ^ "Часто задаваемые вопросы по LINPACK - Какой точности должно соответствовать решение?" . Проверено 10 февраля 2015 г.
  10. ^ "Дланж LINPACK" . Проверено 9 марта 2024 г.
  11. ^ «Тестирование производительности Linpack (HPL) — теоретическая пиковая производительность» . Проверено 15 ноября 2023 г.
  12. ^ "Y-MP C916/12256" . ТОП500 . 01.12.1995 . Проверено 15 ноября 2023 г.
  13. ^ «Frontier — HPE Cray EX235a, оптимизированный AMD EPYC 64C 3-го поколения, 2 ГГц, AMD Instinct MI250X, Slingshot-11» . ТОП500 . 12.11.2023 . Проверено 15 ноября 2023 г.
  14. ^ «Программа тестирования Linpack на Фортране» . Проверено 10 февраля 2015 г.
  15. ^ «Программа тестирования Linpack на C» . Проверено 10 февраля 2015 г.
  16. ^ «Программа тестирования Linpack на Java» . Проверено 10 февраля 2015 г.
  17. ^ «HPL — портативная реализация высокопроизводительного теста Linpack для компьютеров с распределенной памятью» . Проверено 10 февраля 2015 г.
  18. ^ «Алгоритм HPL».
  19. ^ «Обзор HPL» . Проверено 10 февраля 2015 г.
  20. ^ «ИНТЕРВЬЮ С ЛЕГЕНДОЙ СУПЕРКОМПЬЮТЕРОВ ДЖЕКОМ ДОНГАРРА» . 24 мая 2002 г.
  21. ^ Хей, Томас (2004). «Интервью с Джеком Дж. Донгаррой» (PDF) . LINPACK — это эталон, на который люди часто ссылаются, потому что там есть такая историческая база данных, потому что его довольно легко использовать, его довольно легко понять, и он в некотором смысле отражает лучшее и худшее в программировании.
  22. ^ Хаммонд, Стивен (1995), За пределами махофлопсов: внедрение MPP в производственную среду
  23. ^ Гахвари, Хормозд; Хёммен, Марк; Деммель, Джеймс; Йелик, Кэтрин (2006), «Сравнительный анализ умножения разреженной матрицы на вектор за пять минут», семинар SPEC Benchmark (PDF)
  24. ^ Донгарра, Джек Дж. (2007), «Эталон HPC Challenge: кандидат на замену Linpack в Top500?», Семинар SPEC Benchmark (PDF)
  25. ^ Кристофер Мимс (08 ноября 2010 г.). «Почему новый китайский суперкомпьютер является самым быстрым в мире только технически» . Проверено 22 сентября 2011 г.
  26. ^ Мойер, Мартин (24 мая 2002 г.). «ИНТЕРВЬЮ С ЛЕГЕНДОЙ СУПЕРКОМПЬЮТЕРОВ ДЖЕКОМ ДОНГАРРА» . Проверено 1 декабря 2022 г.
  27. ^ Лущек, Петр; Донгарра, Джек Дж.; Кестер, Дэвид; Рабенсейфнер, Рольф; Лукас, Боб; Кепнер, Джереми; Маккалпин, Джон; Бейли, Дэвид; Такахаши, Дайсуке (2005), Введение в пакет тестов HPC Challenge (PDF)
  28. Хемсот, Николь (26 июня 2014 г.). «Новый тест высокопроизводительных вычислений дает многообещающие результаты». HPCWire . Проверено 1 декабря 2022 г.
  29. ^ Донгарра, Джек Дж. (2010). Тест LINPACK с ограничениями по времени для многоядерных ускорителей и графических процессоров (PDF) . Международная конференция по суперкомпьютерам.

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