Научно-образовательный IT-форум при КНИТУ-КАИ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Научно-образовательный IT-форум при КНИТУ-КАИ » Задачи и вопросы » [+] Разделяемая память в архитектуре nVidia CUDA


[+] Разделяемая память в архитектуре nVidia CUDA

Сообщений 1 страница 4 из 4

1

В статье http://cgm.computergraphics.ru/issues/issue16/cuda говорится:

...
На один мультипроцессор доступно всего 16KB разделяемой памяти.
...
Разделяемая память организована в виде 16 (всего-то!) банков памяти с шагом в 4 байта.
...

Что понимается под шагом и чему равен один банк разделяемой памяти?

2

http://en.wikipedia.org/wiki/CUDA количество банков и его пропускная способность зависит от версии карточки и, соответственно, ее compute capability. В этой статье рассматривается архитектура карточки с CC<2. До CC = 2.х количество банков равно 16, а объем разделяемой памяти = 16Кб, отсюда следует, что размер банка = 1Кб. Шаг - это размер слова, хранящегося в банке. Пропускная способность банка за один такт, как и размер слова равна 32 бита (4 байта). http://devblogs.nvidia.com/parallelfora … y-cuda-cc/

3

North Viking написал(а):

Шаг - это размер слова, хранящегося в банке.

Т.е. обращаться к одному и тому же банку памяти можно нескольким потокам, но так чтобы эти обращения были к разным словам в пределах данного банка, иначе - конфликты? Поясни, пожалуйста, этот момент.

4

http://stackoverflow.com/questions/2455 … and-higher здесь этот момент очень хорошо описан. Нити не должны быть в одном варпе, так как пропускная способность банка - 32 бита, т.е одно слово за такт.


Вы здесь » Научно-образовательный IT-форум при КНИТУ-КАИ » Задачи и вопросы » [+] Разделяемая память в архитектуре nVidia CUDA