virusx1984 Ответов: 1

Вопросы о конфликте банка общей памяти в CUDA


Я хочу знать, какое утверждение истинно (предположим, что существует блок со 128 потоками)?(или оба ложные)

1. конфликты банка памяти возникают, если два потока (в одном и том же варпе) читают/загружают один и тот же банк. И конфликты не возникнут, если два потока (не в одном варпе) читают/загружают один и тот же банк.

2. конфликты банка памяти возникают, если два потока (независимо от того, находятся ли они в одной деформации или нет) читают/загружают один и тот же банк.

1 Ответов

Рейтинг:
0

tugrulGtx

2 содержит 1. true + true

1 также содержит исключение: вещание. Если не только 2, но и все потоки обращаются к одному и тому же банку, он транслируется на все элементы warp.

1 верно, потому что общая память сериализует доступ к одному и тому же банку, если он не предназначен для широковещательной передачи.

2 верно, потому что общая память обслуживает несколько деформаций одновременно.

Есть и еще одна вещь из документации CUDA:

Устройства с вычислительными возможностями 2.0 и выше имеют дополнительную возможность многоадресного доступа к общей памяти, что означает одновременное обслуживание нескольких обращений к одному и тому же местоположению любым количеством потоков внутри основы.