Тесты LINPACK - LINPACK benchmarks

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

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

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

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

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

История

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

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

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

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

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

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

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

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

Тесты

LINPACK 100

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

LINPACK 1000

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

HPLinpack

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

, где точность машины, и п размер проблемы,[9] это матричная норма и соответствует нотация big-O.

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

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

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

Реализации тестов LINPACK

В предыдущем разделе описаны основные правила для тестов. Настоящий реализация программы могут отличаться, некоторые примеры доступны в Фортран,[10] C[11] или Ява.[12]

HPL

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

Примерно алгоритм имеет следующие характеристики:[14][15]

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

Критика

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

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

По словам Донгарра, «организаторы Top500 активно стремятся расширить объем отчетов по тестам», потому что «важно включить больше характеристик производительности и сигнатур для данной системы».[22]Одна из возможностей, которая рассматривается для расширения эталонного теста для TOP500, - это Тест HPC Challenge Люкс.[23] С появлением петафокальные компьютеры, пройденных краев в секунду начали появляться в качестве альтернативы метрике FLOPS, измеряемой LINPACK. Другой альтернативой является Тест HPCG, предложенный Донгаррой.[24]

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

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

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

использованная литература

  1. ^ а б «Тест Linpack, ТОП500 суперкомпьютерных сайтов». Получено 2015-02-10.
  2. ^ а б c d е Донгарра, Джек Дж .; Лущек, Петр; Петите, Антуан (2003), «Тест LINPACK: прошлое, настоящее и будущее» (PDF), Параллелизм и вычисления: практика и опыт, John Wiley & Sons, Ltd., 15 (9): 803–820, Дои:10.1002 / cpe.728, S2CID  1900724
  3. ^ Джек Донгарра, интервью Сандера Олсона, заархивировано из оригинал на 2016-03-04, получено 2012-01-13
  4. ^ Dongarra, J.J .; Moler, C.B .; Bunch, J.R .; Стюарт, Г. (1979), LINPACK: руководство пользователя, СИАМ, ISBN  9780898711721
  5. ^ Донгарра, Джек (1988), «Тест LINPACK: объяснение» (PDF), Суперкомпьютеры, Конспект лекций по информатике, Springer Berlin / Heidelberg, 297: 456–474, Дои:10.1007/3-540-18991-2_27, ISBN  978-3-540-18991-6
  6. ^ Тест производительности Linpack (PDF), получено 2015-02-10
  7. ^ Bailey, D.H .; Barszcz, E .; Barton, J.T .; Browning, D.S .; Carter, R.L .; Dagum, L .; Fatoohi, R.A .; Frederickson, P.O .; Lasinski, T.A .; Schreiber, R.S .; Саймон, H.D .; Венкатакришнан, В .; Виратунга, С.К. (1991), «Сводка параллельных тестов NAS и предварительные результаты», Суперкомпьютеры: 158–165, Дои:10.1145/125826.125925, ISBN  0897914597, S2CID  18046345
  8. ^ «Часто задаваемые вопросы о LINPACK - Могу ли я использовать метод Штрассена при вычислении множителей матриц в тесте HPL или в тесте Top500?». Получено 2015-02-10.
  9. ^ «Часто задаваемые вопросы о LINPACK - какой точности должно соответствовать решение?». Получено 2015-02-10.
  10. ^ «Тестовая программа Linpack в Фортране». Получено 2015-02-10.
  11. ^ "Программа тестирования Linpack на C". Получено 2015-02-10.
  12. ^ "Тестовая программа Linpack на Java". Получено 2015-02-10.
  13. ^ «HPL - переносимая реализация высокопроизводительного теста Linpack для компьютеров с распределенной памятью». Получено 2015-02-10.
  14. ^ «Алгоритм HPL».
  15. ^ «Обзор HPL». Получено 2015-02-10.
  16. ^ «Интервью с легендой суперкомпьютеров Джеком Донгаррой». 2012-05-24. Архивировано из оригинал на 03.02.2013.
  17. ^ Хей, Томас (2004). "Интервью с Джеком Дж. Донгаррой" (PDF). LINPACK - это эталонный тест, который люди часто цитируют, потому что там есть такая база исторических данных, потому что его довольно легко запустить, его довольно легко понять и он в некотором смысле отражает лучшее и худшее из программирования.
  18. ^ Хаммонд, Стивен (1995), Помимо махофлопсов: внедрение MPP в производственную среду, заархивировано из оригинал на 2012-07-13
  19. ^ Гахвари, Хормозд; Hoemmen, Марк; Деммель, Джеймс; Йелик, Кэтрин (2006), "Тестирование умножения разреженной матрицы на вектор за пять минут", Семинар по тестированию SPEC (PDF)
  20. ^ Донгарра, Джек Дж. (2007), «Тест HPC Challenge: кандидат на замену Linpack в Top500?», Семинар по тестированию SPEC (PDF)
  21. ^ Кристофер Мимс (2010-11-08). «Почему новый суперкомпьютер в Китае является самым быстрым в мире только с технической точки зрения». Получено 2011-09-22.
  22. ^ Меуэр, Мартин (24 мая 2002 г.). "Интервью с легендой суперкомпьютеров Джеком Донгаррой". Архивировано из оригинал на 2013-02-03. Получено 2015-02-10.
  23. ^ Лущек, Петр; Донгарра, Джек Дж .; Кестер, Дэвид; Рабенсейфнер, Рольф; Лукас, Боб; Кепнер, Джереми; Маккалпин, Джон; Бейли, Дэвид; Такахаши, Дайсуке (2005), Знакомство с набором тестов HPC Challenge Benchmark Suite (PDF)
  24. ^ Хемсот, Николь (26 июня 2014 г.). «Новый тест HPC дает многообещающие результаты». HPCWire. Получено 2014-09-08.
  25. ^ Донгарра, Джек Дж. (2010), Тест LINPACK с ограничениями по времени для многоядерных ускорителей и ускорителей на базе GPU (PDF)

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