我正在将一些代码移植到GPU上并且我主要实现了它,除了我的算法需要执行列标准化步骤(或者应该,算法在没有它的情况下工作,但是对于算法规范化会更好)稳定性)。
我正在考虑实现这一目标的最佳方法。我已经有一个减少的内核,所以我可以重用它来获得列总和。列的数量可以是几十个列的几千个元素,最多几千个列,每个列有几千个元素。如果我在每列上迭代地调用我的还原内核,我认为性能会很差,所以我想要考虑更好的方法,并希望其他人已经以更优化的方式解决了问题。
答案 0 :(得分:2)
您可能希望了解加州大学戴维斯分校/ Nvidia团队的开源CUDA Data-Parallel Primitives Library (CUDPP)。它包括快速分段扫描以及并行缩减。