Cudaはnvidiaハードウェアでのみ動作しますが、CPUコア(igpuではなく)で動作するように変換するライブラリがあります。
AMDは、古いcudaカーネルをopenclやそれに類するコードに翻訳してより一般的になるようにしています。
Openclは、ハードウェアとOSの両方がサポートしている限り、どこでも動作します。 Amd、Nvidia、Intel、Xilinx、Altera、Qualcomm、MediaTek、Marvell、Texas Instruments ..これをサポートします。たぶんラズベリーのパイ-xでさえ将来サポートすることができます。
openoverflow.comでのopenclのドキュメントは開発中です。しかし、いくつかのサイトがあります。
アイリスグラフィックス6100の場合:
あなたの統合されたGPUは48個の実行ユニットをそれぞれ有する8つのALUユニット追加することができました、乗算、さらに多くの演算が含まれます。クロック周波数は1GHzに上昇する可能性があります。これは、各ALUが1回の加算と1回の乗算を同時に行うことができる場合に限り、最大で48 * 8 * 2(1加算+ 1乗)* 1G = 768ギガ浮動小数点演算を意味します。 768 GflopsはAMDのR7-240のようなローエンドのディスクリートgpu以上です(1910年11月19日現在、AMDのローエンドは1200 GFlopsのRX550で、IntelのIris Plus 650より約900 GFlopsより高速です)。レイトレースでは、あまりにも多くのジオメトリデータに再アクセスする必要があるため、CPUがその作業を実行できるように、デバイスには独自のメモリ(NvidiaやAmdなど)が必要です。あなたはOSやハードウェアの種類が、OpenCLの-インストールしたコンピュータでソフトウェアを構築することにより変更することができ、コンピュータ上のOpenCLをインストールする方法
は似ています
計算上の操作:
- エンキューNDレンジカーネル(指定してカーネルが実行され、どのように多くのスレッドを有する)
- "出力"バッファのエンキューバッファ読み出し(またはマップ/アンマップ)操作
- ブロックタイプenqueueBufferReadを使用していない場合は、clFinish()を使用してホストと同期することを忘れないでください。
- 加速データを使用します。 OpenCLの後
はもう必要ありません:
- すべてのコマンド・キューが空であることを確認してください/カーネルの仕事をして終えました。あなたは、オープンソースソフトウェアを加速する必要がある場合、それはすでに別の加速をサポートしていない場合、あなたは、簡単なのOpenCLカーネルでホットスポット並列化ループを切り替えることができます
すべての創造の逆の順序で
リリース。たとえば、パウダートゥー・サンドボックス・シミュレーターの空気圧と熱移動の部分を加速することができます。
レイトレーシングは、3次元の視覚化で使用される技術です。パイソン、Webglなどで使用します。すべてのプログラマブル言語が問題になります。私には、「クーダでこれをプログラムすることができますか、それともコードに入れなければならないのでしょうか」という質問があります。グーグルという言葉をして結果を得ることは、最初に出てくる商用ソフトウェアのリンクが正解であることを意味するものではありません!@teraスタックのガイドラインが好きなので、私はあなたのセクションを参照してください:答えは "それをしないでください"ができますが、 "これを代わりに試してください" [https://stackoverflow.com/help/how-to-answer] – user2589273