gpt4 book ai didi

cuda - 一个小小的 CUDA 难题

转载 作者:行者123 更新时间:2023-12-05 01:37:01 28 4
gpt4 key购买 nike

我有数组 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 的简单实现线程是高度发散的。有没有更好的办法?

最佳答案

如果我理解正确,您正在尝试对 double 数组进行求和减少 A通过 B 中保存的整数键. Thrust模板库包含 reduce_by_key为此操作。 sum rows示例展示了如何将 reduce_by_key 用于类似的应用程序,尽管它使用计数迭代器来生成 key ,而不是使用用户提供的 key 向量。根据您的需要修改它应该是微不足道的。

关于cuda - 一个小小的 CUDA 难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7900395/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com