【发布时间】:2021-06-11 05:34:17
【问题描述】:
我想知道thrust::merge内部使用的是哪种合并算法。
例如,mgpu::merge (Modern GPU Merge) 基于GPU Merge Path - A GPU Merging Algorithm。
thrust::merge 使用哪种算法,它与 GPU 合并路径有何不同?
【问题讨论】:
我想知道thrust::merge内部使用的是哪种合并算法。
例如,mgpu::merge (Modern GPU Merge) 基于GPU Merge Path - A GPU Merging Algorithm。
thrust::merge 使用哪种算法,它与 GPU 合并路径有何不同?
【问题讨论】:
遗憾的是,Thrust 没有明确描述他们实际使用的算法。但是,您可以找到 CUDA 实现 here 并了解该算法的作用。在撰写本文时,他们使用基于平铺的分区合并。
算法分为3步:
当前的 Thrust 实现似乎与您提供的研究论文中的实现接近。
【讨论】: