バックグラウンド:
一連のシンボルを処理する CUDA プログラムを作成しました。プログラムは、すべてのシーケンスが同じ長さであるという規定に従って、シンボルのすべてのシーケンスを並行して処理します。データをグループに分類しています。各グループは完全に同じ長さのシーケンスで構成されています。プログラムは一度に 1 つのグループを処理します。
質問:
4 つの GPU を搭載した Linux マシンでコードを実行しており、プログラムの 4 つのインスタンス (GPU ごとに 1 つ) を実行して 4 つの GPU すべてを利用したいと考えています。別の CUDA アプリケーションで使用されていない GPU をプログラムで選択して実行することは可能ですか? GPU の数が多い、または少ない別のハードウェアでプログラムを実行したときに、後で問題を引き起こす可能性のあるものをハードコーディングしたくありません。