私はOpenCLがCPU実装といくつかのGPU実装で広くサポートされていることを見てきました。OpenGLでOpenCLを実装する
GPUがありますが、GPUの実装が利用できない場合、OpenGLを使用してOpenCLを実装することは可能でしょうか?
多分、ほとんどの操作は、GLSLフラグメントシェーダや、シェーダを計算することさえ可能です。
これが実現可能であれば、どこから始めるのですか?そこには、最小限のCPU OpenCL実装があります。
私はOpenCLがCPU実装といくつかのGPU実装で広くサポートされていることを見てきました。OpenGLでOpenCLを実装する
GPUがありますが、GPUの実装が利用できない場合、OpenGLを使用してOpenCLを実装することは可能でしょうか?
多分、ほとんどの操作は、GLSLフラグメントシェーダや、シェーダを計算することさえ可能です。
これが実現可能であれば、どこから始めるのですか?そこには、最小限のCPU OpenCL実装があります。
GPUがありますが、GPUの実装が利用できない場合は、OpenGLを使用してOpenCLを実装するのが有効でしょうか?
可能:はい、もちろんです。すべてのチューリング完了マシンは、他のすべてのチューリング完了マシンをエミュレートできます。
実行可能:OpenGL実装のGLSLコンパイラは既にプリミアドナナであり、各実装のコンパイラは少し動いています。 OpenGL自体には、コードパスを選択するためのヒューリスティックがたくさんあります。 OpenGL + GLSLをベースにした、控えめなOpenCLをShoehorningすることは、非常に苦労するでしょう。
必須:絶対にそうではありません:OpenCLを実際にサポートするために必要な機能を備えているすべてのGPUについて、ドライバはOpenCLをサポートしていますので、これは問題ではありません。
OpenCLには、浮動小数点演算の精度に関する特定の非常に明示的な要件があります。 GLSLの要件ははるかに緩慢です。 OpenGLの上にOpenCL APIを実装しても、同じの動作を得ることは決してできません。
あなたは別の方法で考え始める場合には、この点ではVulkanは良くありません。
OpenCLに必要な機能を備えたGPUはほとんど見つかりませんが、OpenCLを実装していないドライバはほとんどありません。これは問題ではありません。 – datenwolf
これらのgpuにはパイプラインがほとんどないため、2つのコア上のMMX/SSEはパフォーマンス/労力比で優れています。 –
OpenCL言語には、シェーダ言語(例えば、車線変更命令、ワープ投票)から利用できない機能がありますので、厳密に言えません。しかし、おそらくサブセット。 –