Открыть сервис

SPEC CPU 2017

SPEC CPU 2017 — это набор тестов для оценки производительности центральных процессоров, памяти и компиляторов, разработанный консорциумом Standard Performance Evaluation Corporation (SPEC). Выпущенный в 2017 году, он стал преемником набора SPEC CPU 2006 и на протяжении нескольких лет являлся основным отраслевым стандартом для измерения вычислительной мощности в ресурсоёмких задачах, таких как научные расчёты, инженерное моделирование и обработка данных. SPEC CPU 2017 включает в себя два основных режима тестирования: скорость (rate) и время выполнения (speed), а также разделение на целочисленные (SPECspeed 2017 Integer, SPECrate 2017 Integer) и операции с плавающей запятой (SPECspeed 2017 Floating Point, SPECrate 2017 Floating Point).

История

Разработка SPEC CPU 2017 началась в середине 2010-х годов, когда стало очевидно, что предыдущий набор тестов, SPEC CPU 2006, устарел как по составу рабочих нагрузок, так и по методологии. Основные изменения коснулись перехода на более современные бенчмарки, отражающие реальные задачи того времени: обработку изображений, машинное обучение, симуляцию физических процессов и работу с большими объёмами данных. Первая публичная версия набора была выпущена в июне 2017 года. В 2021 году вышло обновление SPEC CPU 2017 v1.1, которое исправило ряд ошибок и добавило поддержку новых архитектур, включая ARM и RISC-V. В 2023 году SPEC анонсировала разработку преемника — SPEC CPU 2023, но на момент написания статьи (2024 год) он ещё не был официально выпущен.

Структура и состав

SPEC CPU 2017 состоит из 43 тестов (benchmarks), разделённых на четыре группы:

  • SPECspeed 2017 Integer (10 тестов) — измеряет время выполнения целочисленных задач в однопоточном режиме.
  • SPECspeed 2017 Floating Point (10 тестов) — измеряет время выполнения задач с плавающей запятой в однопоточном режиме.
  • SPECrate 2017 Integer (10 тестов) — измеряет пропускную способность при многопоточном выполнении целочисленных задач.
  • SPECrate 2017 Floating Point (13 тестов) — измеряет пропускную способность при многопоточном выполнении задач с плавающей запятой.

Каждый тест представляет собой реальную программу или её фрагмент, взятый из научных, инженерных или коммерческих приложений. Например, в состав входят:

  • 600.perlbench_sинтерпретатор Perl 5.24.0.
  • 602.gcc_sкомпилятор GCC 6.1.0.
  • 605.mcf_s — симулятор транспортной сети (метод Монте-Карло).
  • 620.omnetpp_s — симулятор дискретных событий OMNeT++.
  • 623.xalancbmk_s — обработчик XML-документов Xalan-C++.
  • 625.x264_s — кодировщик видео H.264/AVC.
  • 631.deepsjeng_sшахматный движок Deep Sjeng.
  • 641.leela_s — программа для игры в го Leela Zero.
  • 648.exchange2_s — симулятор обменных процессов в физике.
  • 657.xz_s — архиватор LZMA.

Для тестов с плавающей запятой:

  • 603.bwaves_s — симуляция волн в жидкости.
  • 607.cactuBSSN_s — моделирование гравитационных волн (Cactus).
  • 619.lbm_s — симуляция методом решёточных уравнений Больцмана.
  • 621.wrf_sмодель погоды WRF (Weather Research and Forecasting).
  • 627.cam4_s — климатическая модель CAM4.
  • 628.pop2_s — океаническая модель POP2.
  • 638.imagick_s — обработка изображений (ImageMagick).
  • 644.nab_sмолекулярная динамика (NAMD).
  • 649.fotonik3d_s — моделирование фотонных кристаллов.
  • 654.roms_s — океанографическая модель ROMS.

Методология тестирования

SPEC CPU 2017 предлагает два режима измерения:

  • Speed (время выполнения) — измеряется время, за которое тест выполняется на одном ядре процессора. Результат нормируется относительно эталонной машины (обычно Intel Xeon Gold 6148, 2.4 ГГц, 20 ядер). Чем меньше время, тем выше производительность.
  • Rate (пропускная способность) — измеряется количество копий теста, которые могут быть выполнены параллельно на всех доступных ядрах за фиксированное время. Результат нормируется относительно эталонной машины. Чем больше копий, тем выше производительность.

Результаты SPEC CPU 2017 выражаются в виде баллов (score). Например, для режима Speed балл вычисляется как отношение времени выполнения эталонной машины к времени выполнения тестируемой системы. Для режима Rate — как отношение количества копий, выполненных тестируемой системой, к количеству копий эталонной системы.

Применение

SPEC CPU 2017 широко используется в индустрии для:

  • Сравнения процессоров — производители (Intel, AMD, ARM, IBM, Qualcomm, Apple) публикуют официальные результаты для своих продуктов.
  • Оптимизации компиляторов — разработчики компиляторов (GCC, LLVM, Intel Compiler) используют тесты для проверки качества генерируемого кода.
  • Выбора оборудования — системные интеграторы и конечные пользователи ориентируются на результаты SPEC CPU 2017 при покупке серверов, рабочих станций и суперкомпьютеров.
  • Научных исследований — в академической среде тесты применяются для оценки эффективности новых архитектур и алгоритмов.

Критика

Несмотря на широкое распространение, SPEC CPU 2017 подвергается критике по нескольким причинам:

  • Устаревание рабочих нагрузок — некоторые тесты, такие как 600.perlbench_s и 602.gcc_s, основаны на программном обеспечении 2015–2016 годов, что не отражает современные задачи (например, нейросетевые вычисления или обработку больших данных).
  • Зависимость от компилятора — результаты могут сильно различаться в зависимости от версии компилятора и флагов оптимизации, что затрудняет прямое сравнение.
  • Отсутствие тестов для GPU — набор ориентирован исключительно на CPU, в то время как многие современные вычисления выполняются на графических ускорителях.
  • Сложность воспроизведения — для получения официальных результатов требуется строгое соблюдение методики SPEC, что делает тестирование дорогим и трудоёмким.

Интересные факты

  • SPEC CPU 2017 стал первым набором, который официально поддерживает архитектуру ARM (начиная с версии v1.1).
  • В 2020 году компания Apple использовала результаты SPEC CPU 2017 для демонстрации производительности процессора M1, что вызвало споры из-за различий в методологии тестирования.
  • Набор тестов SPEC CPU 2017 занимает около 10 ГБ дискового пространства и требует для установки операционную систему Linux или Windows.

Источники

  • Standard Performance Evaluation Corporation. SPEC CPU 2017 Documentation. 2017.
  • Hennessy, J. L., Patterson, D. A. Computer Architecture: A Quantitative Approach. 6th edition. Morgan Kaufmann, 2019.
  • Обзор SPEC CPU 2017 на сайте AnandTech (2017).
  • Документация SPEC CPU 2017 v1.1 (2021).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →