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.combinations自分からすべてを抽象化するものを使用しているので、これを自分でプログラムしようとすると、参照できるリソースまたはプロキシ コードはありますか? 組み合わせに関連するアルゴリズムのほとんどは再帰的であり、私の Cuda カードは再帰をサポートしていません。

どこから始めるべきかについての提案/ヒントはありますか?

4

1 に答える 1

1

順列を試してビンパッキングを行う小さな CUDA プロジェクトを実行しました。

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

于 2012-05-19T17:53:52.880 に答える