Потоки в деформации CUDA выполняются параллельно на многопроцессорном компьютере? - PullRequest
2 голосов
/ 11 марта 2011

Деформация состоит из 32 нитей.32 потока выполняются параллельно в многопроцессорном режиме?Если 32 потока не выполняются параллельно, тогда в варпе нет условия гонки.Я получил это сомнение после того, как рассмотрел некоторые примеры.

Ответы [ 2 ]

4 голосов
/ 11 марта 2011

В модели программирования CUDA все потоки внутри основы работают параллельно.Но фактическое выполнение в аппаратном обеспечении может не быть параллельным, потому что число ядер в SM (потоковом мультипроцессоре) может быть меньше 32. Например, архитектура GT200 имеет 8 ядер на SM, а потокам в деформации потребуется 4 тактовых цикла.чтобы завершить выполнение.

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

0 голосов
/ 11 марта 2011

Да. 32 потока в WARP будут выполняться параллельно. Графический процессор представляет собой SIMT (однопроцессный многопоточный) компьютер, единственная инструкция которого выполняется несколькими потоками параллельно.

Кстати, SIMT - это в некотором роде маркетинговый термин, он в основном такой же, как SIMD .

...