Банковские конфликты разделяемой памяти в схеме сокращения? - PullRequest
0 голосов
/ 09 июня 2018

Я сосредоточился на проблеме банковского конфликта, показанной на слайдах Марка Харриса Оптимизация параллельного сокращения в CUDA , и я пришел к этому вопросу:

На слайдах 8 и 12, которые демонстрируют проблему расходящегося ветвления и не расходящегося решения соответственно, есть проблема конфликт банка .Но эта проблема только , упомянутая на слайде 12.

Насколько я знаю, каждые 4 байта данных (в данном случае целые числа) хранятся в одном банке памяти.В этом случае:

10 -> bank 1
1  -> bank 2
8  -> bank 3
   .
   .
   .

и проблема конфликт банка возникает всякий раз, когда потоки деформации запрашивают байты в одном и том же банке.На слайде 8 все 6 потоков (одной и той же основы) запрашивают байты из разных банков (нет конфликта банков).Кроме того, на слайде 12 все 6 потоков (опять же, с одинаковой деформацией) запрашивают байты из разных банков (по-прежнему нет конфликтов между банками).Кто-нибудь уточнит, когда именно возникнет эта проблема?

1 Ответ

0 голосов
/ 09 июня 2018

Наверное, я не прав.

На слайде 8 каждый поток с индексом 2i обращается к банку с индексом 2i.Таким образом, поток 32 (последний поток в основе) обращается к банку с индексом 32. Таким образом, не возникает никаких конфликтов между банками (ни один из потоков в основе не обращается к одному и тому же банку).

На слайде 12 каждый поток сИндекс i обращается к банку с индексом 2i.Таким образом, поток 32 (последний поток в основе) обращается к банку с индексом 64. Анализ схемы доступа показывает, что в этом случае каждый поток обращается к одному и тому же банку 2 раза, что является серьезным конфликтом банков .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...