OpenCL C# ライブラリである Cloo を使用していますが、実行時にカーネルに使用するデバイスをどのように決定するのが最善かを考えていました。私が本当に知りたいのは、GPU 上にあるコアの数 (計算ユニット * 計算ユニットあたりのコア数) です。これを正しく行うにはどうすればよいですか?現在、計算ユニットと周波数を決定できます。
編集: すべてのデバイスでプロファイリング (速度テストの実行) を試み、結果を保存/比較することを検討しました。しかし、私の理解では、比較のためにすべてのデバイスを最適/公正に使用するプログラムを作成できないため、これも問題を引き起こします。
これは、カーネル呼び出しごとに指定する最適な数のワーカー スレッドを選択する場合にも役立ちます。どんな助けでも大歓迎です。