CUDA: производительность памяти, что такое пропускная способность глобальной памяти

Я узнаю об оптимизации CUDA. Я нашел презентацию по этой ссылке: Оптимизация CUDA Паулиуса Микикявичюса.

В этой презентации они говорят о

МАКСИМАЛЬНАЯ ГЛОБАЛЬНАЯ ПАМЯТЬ ПАМЯТИ

говорят, что объединение глобальной памяти улучшит пропускную способность.

Мой вопрос, как вы рассчитываете пропускную способность глобальной памяти. Может кто-нибудь объяснить мне на простом примере программы.

1 ответ

Решение

Теоретическая пропускная способность может быть рассчитана с использованием спецификации оборудования.

Например, NVIDIA GeForce GTX 280 использует оперативную память DDR с тактовой частотой памяти 1 107 МГц и интерфейсом памяти шириной 512 бит. Используя эти элементы данных, максимальная теоретическая пропускная способность памяти NVIDIA GeForce GTX 280 составляет 141,6 ГБ / с:

введите описание изображения здесь

В этом расчете тактовая частота памяти преобразуется в Гц, умножается на ширину интерфейса (деленную на 8 для преобразования битов в байты) и умножается на 2 из-за двойной скорости передачи данных. Наконец, этот продукт делится на 109, чтобы преобразовать результат в ГБ / с (Гбит / с).

Эффективная пропускная способность рассчитывается по времени выполнения конкретных программных действий и по тому, как программа получает доступ к данным. Для этого используйте это уравнение:

Эффективная пропускная способность = (( Br + Bw) / 109) / время

Здесь эффективная пропускная способность указывается в единицах Гбит / с, Br - это число байтов, считываемых на ядро, Bw - количество байтов, записываемых на ядро, а время дается в секундах.

Более подробная информация доступна в Руководстве по лучшей практике CUDA.

Другие вопросы по тегам