Cuda可以更快地找到组合吗?

时间:2012-05-19 16:07:45

标签: cuda

我想知道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.combinations来摘录我的一切,所以如果我尝试自己编程,那么我可以查看任何资源或代理代码吗?大多数与组合相关的算法都是递归的,我的Cuda卡不支持递归。

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

1 个答案:

答案 0 :(得分:1)

我做了一个小型的CUDA项目,通过尝试排列来进行bin打包:

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