1

現在、Cuda から openCL への切り替えを検討しています。Cuda でできるように、openCL カーネルを事前にビルドしました (CL_PROGRAM_BINARIES を使用)。私の簡単な質問: 持っていないデバイス用のバイト コードをコンパイルすることは可能ですか (たとえば、AMD ドライバーをインストールしてから、一連の Radeon カード用にコンパイルしますが、社内には NVIDIA カードしかありませんか?)

これは維持するのが面倒であり、提案されていないことはわかっています。現在それが可能かどうかを知りたいだけです。

4

1 に答える 1

2

私の知る限り AMD はこれをサポートしていますが、例として、Nvidia GPU なしでは Nvidia GPU ドライバー (OpenCL サポートを提供する) をインストールすることはできません。したがって、Nvidia GPU が必要です。正直なところ、これは意図した使用例ではないようです。代わりに、バイナリの読み込みと保存はカーネルをキャッシュするためのものであり、アプリの初回実行時 (およびハードウェアの変更やドライバーの更新後) にのみコンパイルされるようにします。

于 2013-08-14T15:45:07.850 に答える