この種の問題に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 カードは再帰をサポートしていません。
どこから始めるべきかについての提案/ヒントはありますか?