У меня есть массив A[0...N]
из double
и массив B[0...N]
из int
. Каждый B[i]
изменяется в [0...P]
. Все, что мне нужно, это вычислить массив C[0...P]
:
C[j] = SUM( A[i] : B[i] = j)
Я не могу использовать потоки N
с функцией atomicAdd()
, поскольку, насколько я знаю, она не поддерживает double
. Простая реализация с потоками P
сильно расходится. Есть ли лучший способ?