我有一个存储在GPU上的无符号整数数组,带有CUDA(通常是1000000元素).我想计算数组中每个数字的出现次数.只有少数不同的数字(约10),但这些数字可以从1到1 1000000.关于9/10这些数字0,我不需要它们的数量.结果看起来像这样:
58458 -> 1000 occurrences
15 -> 412 occurrences
Run Code Online (Sandbox Code Playgroud)
我有一个使用atomicAdds 的实现,但它太慢(许多线程写入相同的地址).有人知道快速/有效的方法吗?