Из руководства по программированию NVIDIA CUDA:
Чтобы максимизировать глобальную пропускную способность памяти, поэтому важно максимизировать
объединяется:
- Следуя наиболее оптимальным схемам доступа на основе разделов G.3.2 и G.4.2,
- Использование типов данных, соответствующих требованиям к размеру и выравниванию, подробно
Раздел 5.3.2.1.1,
- Заполнение данных в некоторых случаях, например, при доступе к двумерному
массив, как описано в разделе 5.3.2.1.2.
Это связано с обращением к памяти потоков в деформации, которая объединена в одну или несколько транзакций. Эта проблема была устранена для устройств с вычислительными возможностями 2.x.
С другой стороны, для доступа к разделяемой памяти вы должны понимать, как реализована эта память.
Для достижения высокой пропускной способности разделяемая память делится на память одинакового размера
модули, называемые банками, к которым можно получить доступ одновременно.
Если два или более потоков обращаются к одному и тому же банку, перевод сериализуется, например, конфликт банков.
Приложение G. Возможности вычислений содержит больше информации об архитектуре.
Привет!