我有数组A[0...N]的double和阵列B[0...N]的int.每个B[i]变化都有[0...P].我只需要计算数组C[0...P]:
C[j] = SUM( A[i] : B[i] = j)
Run Code Online (Sandbox Code Playgroud)
据我所知,我不能使用N具有atomicAdd()函数的线程,因为它不支持double.使用P线程的直接实现非常不同.有没有更好的办法?
如果我理解正确,你试图A通过保持的整数键对双精度数组求和B.该推力模板库包含reduce_by_key进行此项操作.的总和的行例子展示了如何使用reduce_by_key用于类似的应用,尽管它使用计数迭代生成密钥而不是使用用户提供的密钥矢量.根据您的需要修改它应该是微不足道的.
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |