さまざまなシステムで実行する OpenCL プログラムを作成します。したがって、次の場合に何が起こるか知りたいです。
そのマシンには OpenCL 対応の GPU はありませんでしたが、OpenCL 対応の CPU がありました。
そのマシンには、OpenCL 対応の GPU と CPU がありませんでした。
プログラムが正しく動作するかどうかだけ知りたいのですが、パフォーマンスが低下することは完全に理解しています。
前もって感謝します :]
さまざまなシステムで実行する OpenCL プログラムを作成します。したがって、次の場合に何が起こるか知りたいです。
そのマシンには OpenCL 対応の GPU はありませんでしたが、OpenCL 対応の CPU がありました。
そのマシンには、OpenCL 対応の GPU と CPU がありませんでした。
プログラムが正しく動作するかどうかだけ知りたいのですが、パフォーマンスが低下することは完全に理解しています。
前もって感謝します :]
そのマシンには OpenCL 対応の GPU はありませんでしたが、OpenCL 対応の CPU がありました。
OpenCL がすべてのタイプのデバイス (CL_DEVICE_ALL) をアドレス指定する場合、完全に機能します。
そのマシンには、OpenCL 対応の GPU と CPU がありませんでした。
OpenCL はロードされますが、カーネルを実行するものは何もありません。したがって、単純にソフトウェア コードを実行します。
ロードされなくても機能しません(実行時にDLLがありません)。動的ロードOpenCL(CLEWなど)を使用しない限り。
動的ロードを使用する場合でも、ライブラリのロードでエラーが発生します。この状況を処理し、フェイルセーフ CPU コードを配置する必要があります。
私は通常、プロトタイプをカーネルとして (多かれ少なかれ) 関数を作成し、代わりにこのメソッドを直接呼び出します。
とにかく、それを達成することは可能です。OpenCL をシャドウで使用するライブラリが多数ありますが、問題はありません。それらはあらゆる種類のマシン (GPU なし、OpenCL なし、複数のデバイスおよび CPU デバイス) で実行されます。今のところ問題ありません。OpenCL 呼び出しが常にエラーを返さないと仮定しないでください。