Просмотр исходного кода

Prevent loop unrolling in 'cudaMulmod'.

Loop unrolling causes namespace conflicts, and would occur when 'nmult' was small.
Steven Engler 8 лет назад
Родитель
Сommit
45242651ac
1 измененных файлов с 1 добавлено и 0 удалено
  1. 1 0
      parrhoasm.cu

+ 1 - 0
parrhoasm.cu

@@ -225,6 +225,7 @@ __global__ void cudaMulmod(GlobalThreadState *global_ts,
     // cuPrintf("s_B = %08X\n", (unsigned int)b);
     // cuPrintf("s_a = %08X%08X\n", global_a_base[1], global_a_base[0]);
     // cuPrintf("s_b = %08X%08X\n", global_b_base[1], global_b_base[0]);
+    #pragma unroll 1 // to allow 'nmult' to be 2 or 3
     for (i = 0; i < nmult; ++i)
     {
         //memset(ts[tid].z, 0, (WORDS + 2) * sizeof(unsigned int));