2012-06-09 5 views
0

Поскольку вы уже определили группы потоков, которые будут выполняться при рассылке вычислительного шейдера, что означают числа внутри файла шейдера? Пример: [numthreads (1, 1, 1)]directcompute hlsl numthreads?

ответ

0

Проделал некоторые дополнительные копания, по официальному определению при отправке, вы определяете группы потоков, в то время как оператор numthreads определяет потоки, поэтому в основном они могут приниматься за дополнительные измерения. Например, когда я отправка 2,2,1 к функции с 3,1,1 он порождает

enter code here 
0, 0, 0 - 0, 0, 0 
0, 0, 0 - 1, 0, 0 
0, 0, 0 - 2, 0, 0 

1, 0, 0 - 0, 0, 0 
1, 0, 0 - 1, 0, 0 
1, 0, 0 - 2, 0, 0 

0, 1, 0 - 0, 0, 0 
0, 1, 0 - 1, 0, 0 
0, 1, 0 - 2, 0, 0 

1, 1, 0 - 0, 0, 0 
1, 1, 0 - 1, 0, 0 
1, 1, 0 - 2, 0, 0 

так 2 * 2 * 1 * 3 * 1 * 1 = 12 нитей всего