Комментировать

(если i = blockDim*blockIdx.x

(если i = blockDim*blockIdx.x + threadIdx.x)
a[ i ] + = a[ i + 1 ]
примерно в 10 раз быстрее, чем
a[ i + 1 ] + = a[ i ]
1блок 512потоков

не знаю точно в чем разница