Значение 2D и 3D блоков потоков в CUDA

#cuda

#cuda

Вопрос:

Может ли кто-нибудь четко простыми словами объяснить блоки 2D и 3D потоков? 1D блок — это просто группа потоков, верно. Итак, что такое 2D блок потоков?

Ответ №1:

Все потоки в CUDA имеют трехмерные индексы. Встроенная переменная threadIdx имеет три члена, threadIdx.x, threadIdx.y and threadIdx.z .

2D блок потоков — это просто группа потоков с двумерной схемой индексации. Аналогично, 3D блок потоков представляет собой группу потоков с трехмерной схемой индексации.

С другой стороны, 1D блок потоков является частным случаем 3D блока потоков, где два измерения равны единице, а 2D блок потоков является частным случаем, когда одно из измерений равно единице.

Все это четко обсуждается в первом разделе руководства по программированию на CUDA, если вы хотите его прочитать.