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

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

2 ответа

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

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

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

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

Другие вопросы по тегам