Поделиться через


Обзор производительности и бенчмаркинга высокопроизводительных вычислений (HPC)

В этой статье описывается тестирование производительности ИИ HPC в Azure. Он предназначен для архитекторов, инженеров и лиц, принимающих решения, которые должны:

  • Оценка инфраструктуры Azure для новых или существующих рабочих нагрузок
  • Создание базовых показателей производительности
  • Сравнение семейств виртуальных машин с использованием целевых данных
  • Оптимизация производительности и экономичности

Почему важно бенчмаркинг

Тестирование предоставляет аналитические сведения на основе доказательств, которые поддерживают как технические, так и бизнес-решения. Она служит для нескольких критически важных целей для рабочих нагрузок HPC и искусственного интеллекта:

  • Выберите нужную инфраструктуру: сопоставляйте характеристики рабочей нагрузки с наиболее подходящим семейством виртуальных машин Azure.
  • Проверка производительности. Убедитесь, что развернутые системы соответствуют ожидаемым целевым значениям пропускной способности и задержки.
  • Оптимизация конфигураций: определение узких мест между вычислительными ресурсами, памятью, хранилищем и сетями.
  • Анализ эффективности затрат: сравнение коэффициентов цена–производительность между параметрами виртуальной машины.
  • Поддержка принятия решений о закупках: предоставление повторяемых, десенсируемых данных о производительности заинтересованным лицам.

Ключевые метрики производительности

Понимание основных метрик, используемых для измерения производительности систем HPC, имеет решающее значение для осмысленной оценки и сравнения систем. Они предоставляют целевые измерения для сравнения, выявляют узкие места системы, тем самым обеспечивая настройку производительности и помогая прогнозировать производительность приложения. Метрики зависят от типа рабочей нагрузки, но обычно они делятся на четыре категории.

Метрики производительности вычислений описывают возможности необработанной обработки системы и насколько эффективно эта возможность реализована на практике. FLOPS (операции с плавающей запятой в секунду) обычно используются для оценки пропускной способности вычислений и часто отражаются в тестах, таких как HPL (LINPACK). Хотя пиковая производительность представляет собой теоретические максимальные возможности оборудования, устойчивая производительность отражает то, что приложения фактически достигают в реальных рабочих нагрузках и поэтому является более значимым индикатором для большинства вычислений.

Семейства виртуальных машин Azure для HPC и искусственного интеллекта

Azure предоставляет специализированные семейства виртуальных машин, настроенные для различных шаблонов рабочей нагрузки.

HPC на основе ЦП (серия HB)

Виртуальные машины серии HB оптимизированы для пропускной способности памяти и сетевого взаимодействия с низкой задержкой, что делает их хорошо подходящими для традиционных рабочих нагрузок HPC, таких как:

  • Вычислительная гидродинамика (ВГД)
  • Моделирование погоды и климата
  • Анализ конечных элементов

К ключевым характеристикам относятся:

  • Процессоры AMD EPYC с высоким числом ядер
  • Большая пропускная способность памяти (включая HBM в новых поколениях)
  • Высокоскоростные сети InfiniBand

ИИ на основе GPU (серия ND)

Виртуальные машины серии ND предназначены для рабочих нагрузок с ускорением GPU, в том числе:

  • Обучение глубокого обучения
  • Вывод крупной языковой модели (LLM)
  • Исследования ИИ и экспериментирование

Эти виртуальные машины:

  • GPU центра обработки данных NVIDIA (H100, H200, Blackwell)
  • Большая емкость памяти GPU
  • Межсоединения с высокой пропускной способностью между GPU и сетью, а также между самими GPU

Категории бенчмаркинга

Различные тесты отвечают на различные вопросы. Выберите тесты на основе аспектов производительности, которые необходимо оценить.

Синтетические бенчмарки

Искусственные тесты изолируют определенные системные компоненты и полезны для базовой проверки:

  • STREAM — измеряет устойчивую пропускную способность памяти
  • HPL (LINPACK) — измеряет пиковую производительность вычислений с плавающей запятой
  • HPCG — оценивает производительность для разреженной линейной алгебры, ближе к реальным рабочим нагрузкам HPC
  • Micro-Benchmarks OSU — проверяет задержку и пропускную способность MPI
  • Тесты NCCL — измеряет общую производительность взаимодействия GPU

Тесты приложений

Тесты приложений отражают реальное поведение и часто являются более репрезентативными:

  • ANSYS Fluent — производительность решателя CFD
  • WRF — моделирование погоды и атмосферы
  • GROMACS / NAMD — пропускная способность молекулярной динамики
  • MLPerf Training — производительность обучения ИИ от начала до конца
  • Вывод MLPerf — пропускная способность и задержка обслуживания модели

Начало работы

Выполните этот рекомендуемый путь, чтобы начать тестирование в Azure:

1. Set up infrastructure
   └── Setting Up Your First HPC Cluster (CycleCloud + Slurm)
   
2. Run baseline benchmarks
   ├── Running Your First Benchmark: STREAM (CPU/memory)
   └── Running NCCL Benchmarks (GPU communication)
   
3. Compare VM options
   ├── CPU HPC VMs Comparison
   └── GPU AI VMs Comparison
   
4. Optimize for your workload
   └── Optimizing NCCL for Azure (AI training)

Лучшие практики

Ниже приведены некоторые рекомендации по надежным и воспроизводимым тестам.

Перед выполнением бенчмарка

  • Использование оптимизированных образов HPC/AI: начните с образов Azure HPC (AlmaLinux-HPC, Ubuntu-HPC), которые включают предварительно настроенные драйверы и библиотеки
  • Проверка версий драйверов. Убедитесь, что драйверы GPU, драйверы InfiniBand и версии NCCL являются текущими.
  • Проверка топологии: подтверждение конфигурации NUMA и аффинности GPU к сетевому адаптеру

Во время бенчмаркинга

  • Прогревочные запуски: Отбрасывание начальных запусков, чтобы позволить кэшам стабилизироваться
  • Несколько итераций: выполните по крайней мере 5 итераций и представьте медиану или среднее значение
  • Согласованные условия: сохранение идентичных ОС, драйверов и конфигураций во всех сравнениях
  • Документируйте все: запись версий программного обеспечения, переменных среды и параметров командной строки

Распространенные ловушки, которых следует избегать

  • Недостаточно периодов прогрева
  • Сравнение различных версий программного обеспечения
  • Игнорировать топологию NUMA
  • Использование конфигураций по умолчанию без оптимизации
  • Неадекватный размер выборки