Я пытаюсь установить два общих измерения для использования пропускной способности памяти и вычислить использование пропускной способности для моего приложения с ускорением GPU с использованием CUDA nsight profiler на ubuntu. Приложение работает на графическом процессоре Tesla K20c.CUDA Profiler: Рассчитать память и вычислить использование
Два измерения я хочу это в некоторой степени сопоставимы с теми, приведенные в этом графике:
Проблемы не что никакие точные цифры приведены здесь и что еще более важно, что я не знаю, как эти проценты рассчитывается.
Пропускная способность памяти Использование
Профилировщик говорит мне, что мой GPU имеет Max Global Memory Bandwidth 208 Гб/с.
ли это относится к BW памяти устройства или глобальной BW памяти? Это sais Global, но первый имеет больше смысла для меня.
Для моего ядра профилировщик сообщает мне, что пропускная способность памяти устройства составляет 98,069 ГБ/с.
Предполагая, что максимум 208 Гб/с, обратитесь к памяти устройства может я тогда просто вычислить Memory BW использование в качестве 90.069/208 = 43%? Обратите внимание, что это ядро выполняется несколько раз без дополнительных передач данных CPU-GPU. Поэтому система BW не важна.
Compute Пропускная способность Использование
Я не совсем уверен, что лучший способ это поставить Compute Throughput Применение в ряд. Мое лучшее предположение заключается в использовании инструкций за цикл до максимального количества инструкций за цикл. Профилировщик сообщает мне, что максимальный IPC равен 7 (см. Рисунок выше).
Прежде всего, что это значит? Каждый мультипроцессор имеет 192 ядра и, следовательно, максимум 6 активных перекосов. Разве это не означает, что максимальный IPC должен быть 6?
Профайлер сообщает мне, что мое ядро выпустило IPC = 1.144 и выполнило IPC = 0.907. Должен ли я рассчитывать использование вычислений как 1.144/7 = 16% или 0.907/7 = 13% или ни один из них?
Эти два измерения (использование памяти и вычислений) дают адекватное первое впечатление о том, насколько эффективно мое ядро использует ресурсы? Или есть другие важные показатели, которые должны быть включены?
Дополнительный график
Глобальная пропускная способность памяти - это теоретическая пропускная способность для памяти устройства (память на плате графического процессора). –