我已经在MPI中实现了并行深度优先搜索算法,并且我正考虑尝试在CUDA / OpenCL中进行,只是为了好玩/出于好奇。算法很简单,但并不简单。 C中的单核版本大约有200行代码。
GPGPU适合这种问题多少钱?
答案 0 :(得分:6)
在CUDA中实现树搜索操作并不是那么简单。有一些论文,比如一篇
另一个相当简单的实现(在我看来并不是一个大规模并行化的实现)
困难来自这样一个事实:树木操作通常涉及决策,并根据决策采取不同的分支。因此,大规模并行化操作而不重叠并进行冗余操作非常困难。
有些方法使用堆栈和队列实现来遍历树。
您可以在此处找到类似的问题: Error: BFS on CUDA Synchronization