CPU, GPU И RAM

Бенчмарк GPU: медиана, разброс и порядок прогонов

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Типичную скорость GPU нельзя описывать только лучшим прогоном. Сохраните все попытки, их порядок, медиану и разброс. Сначала определите, что измеряется: GPU kernel, целая операция или end-to-end обслуживание. Разные границы времени дают разные ответы даже на одном устройстве.

Типичную скорость GPU нельзя описывать только лучшим прогоном. Сохраните все попытки, их порядок, медиану и разброс. Сначала определите, что измеряется: GPU kernel, целая операция или end-to-end обслуживание. Разные границы времени дают разные ответы даже на одном устройстве.

Зафиксируйте единицу прогона

Запишите workload, входы, версию образа, драйвер, состояние кеша и правила warmup. Один прогон должен означать одинаковый объём полезной работы. Если длительность включает загрузку артефактов только в первой попытке, объединять её с устойчивой обработкой без отдельной метки некорректно. Ошибки и незавершённые попытки сохраняйте отдельно от успешных значений. Молчаливое удаление неудач делает результат красивее, но лишает отчёт смысла при оценке реальной повторяемости.

Официальный источник 1.

Проверьте способ измерения времени

CUDA операции часто асинхронны относительно CPU. CPU timer вокруг отправки kernel может измерить постановку в очередь, а не завершение работы. NVIDIA описывает корректное использование синхронизации и CUDA events для соответствующих областей. Выберите метод под вопрос и сохраните точки начала/конца. End-to-end измерение клиента также полезно, но включает сеть и подготовку. Его нельзя подписывать как чистую скорость GPU только из-за того, что операция в итоге использует ускоритель.

Официальный источник 2.

Посчитайте условную медиану

Для учебных длительностей 9, 10, 10, 11 и 20 миллисекунд медиана равна 10, среднее — 12. Лучшее значение 9 описывает только один опыт. Выброс 20 требует объяснения или отдельного исследования, а не автоматического удаления. Эти числа синтетические, не benchmark карты. Сохраните последовательность, потому что тот же набор в другом порядке может скрывать постепенный нагрев, влияние соседней нагрузки или различие холодного и повторного старта.

Поле отчётаЧто сохраняет
Run ID и порядокВременную структуру серии
МедианаЦентральное значение выбранных прогонов
РазбросРазличие между попытками
ОшибкиУсловия отсутствия полезного результата

Сравнивайте одинаковые серии

Для двух конфигураций используйте совпадающие входы и понятный порядок повторений. Чередование или заранее выбранная рандомизация могут уменьшить смешение с дрейфом времени, но сам план следует сохранить. Не меняйте вместе driver, model revision и измеритель. Медиана устойчива к отдельным крайним значениям, однако не описывает хвост задержки полностью. Если важны медленные попытки, показывайте их распределение отдельно, не объявляя медиану достаточным критерием пользовательского опыта.

Опубликуйте воспроизводимый артефакт

Итог — таблица отдельных прогонов с metadata и ясным способом вычисления сводки. Укажите, сколько было попыток, какие исключены и почему, а также каким workload ограничен вывод. При малом числе повторений избегайте впечатления точности за счёт множества десятичных знаков. Новая серия после изменения среды должна храниться рядом с исходной, а не заменять её. Так отчёт позволяет проверить типичное поведение и спорный прогон без вымышленных сравнений производительности или универсального рейтинга GPU.

Связанные разборы: inference benchmark method; rtx 5090 tokens per second.

← Все материалы