Can Cuda make a finding of combinations faster?

Hi Everyone,

I am wondering if Cuda would be useful for this type of problem(and how to approach it in Cuda). Basically I have been using python to find combinations of a list but as the data gets large I’m thinking running it on a gpu maybe an interesting idea.

Say I have a list [1, 2, 3,4,5,6,7,8] and I want only 7 combinations then I would get:

(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)

As the data gets larger it takes a long time. I have been using itertools.combinations which abstracts everything from me so if I try to program this myself is there any resources or proxy code I can look at? Most of the algorithms related to combinations are recursive and my Cuda card does not support recursions.

Any suggestion/tips on where to start?

Is the generation of the combinations taking most of the time, or is it the processing you do to each combination after it is generated?