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?