1

我想知道 Cuda 是否对这类问题有用(以及如何在 Cuda 中解决它)。基本上我一直在使用 python 来查找列表的组合,但是随着数据变大,我认为在 gpu 上运行它可能是一个有趣的想法。

假设我有一个列表[1, 2, 3,4,5,6,7,8],我只想要7组合然后我会得到:

(1, 2, 3, 4, 5, 6, 7)
(1, 2, 3, 4, 5, 6, 8)
(1, 2, 3, 4, 5, 7, 8)
(1, 2, 3, 4, 6, 7, 8)
(1, 2, 3, 5, 6, 7, 8)
(1, 2, 4, 5, 6, 7, 8)
(1, 3, 4, 5, 6, 7, 8)
(2, 3, 4, 5, 6, 7, 8)

随着数据变大,需要很长时间。我一直在使用itertools.combinationswhich 从我身上抽象出所有东西,所以如果我尝试自己编程,是否有任何资源或代理代码可以查看?大多数与组合相关的算法都是递归的,我的 Cuda 卡不支持递归。

关于从哪里开始的任何建议/提示?

4

1 回答 1

1

我做了一个小型 CUDA 项目,通过尝试排列来进行装箱:

http://www.dahlsys.com/software/fill_media/index.html

于 2012-05-19T17:53:52.880 回答