Я понимаю, банковский конфликт при работе с 4-байтными типами данных, но я задаюсь , если мы получим какой-либо банковский конфликт (4-полосной/8-позиционные?) Со следующим кодомобщего банк память конфликта с массив символов
__shared__ char shared[];
foo = shared[threadIdx.x];
Приведенный выше код приводит к 4 последовательным нитям в деформации, обращающейся к одному и тому же адресу слова в одном банке.
Будет ли подобный шаблон доступа к памяти привести к конфликту в банке для любого семейства устройств cuda? По-видимому, он работает только для старых карт, но я хочу подтвердить.
Мой вопрос может быть обобщен далее, что, если несколько потоков обращаются к одному и тому же адресу банковского адресата [8-байтовый или 4-байтовый], но для каждого из них требуется небольшая часть. будет ли аппаратное обеспечение обрабатывать такие запросы без каких-либо банковских конфликтов? Спасибо