Как уменьшить расход регистров?

Есть __global__ процедура.
20 строк, 1 цикл внутри.

заглянул в PTX, и мне стало дурно.

.entry _Z15BLXCrossMulGeneP12TNeuroHeaderi (
.param .u32 __cudaparm__Z15BLXCrossMulGeneP12TNeuroHeaderi_header,
.param .s32 __cudaparm__Z15BLXCrossMulGeneP12TNeuroHeaderi_N)
{
.reg .u16 %rh<4>;
.reg .u32 %r<44>;
.reg .f32 %f<73>;
.reg .pred %p<11>;
.loc 18 18 0

Означает ли это, что каждый поток будет кушать 132 регистра?

Cuda_Occupancy_Calculator.xls мне всё уже рассказал хорошего про такой расход регистров одним потоком.

P.S. Пробовал ставить ограничение по регистрам в компиляторе. Никакой разницы.

Forums: