2016-11-12 15 views
1

私は2014年中央のMacbookプロでIntelアイリスとIntel Core i5プロセッサを搭載した16GBのRAMを搭載しています。私はレイトレーシング3Dを学びたいと思っています。しかし、私のラップトップがNVIDIAのハードウェアなしで高速にレンダリングできるかどうかはわかりません。intel irisでCudaまたはopenclを実行できますか?

だから誰かが私にCudaを使用できるかどうか教えてもらえれば幸いです。その後OpenCLを有効にする方法を簡単に教えてください。初心者がOpenCLを作成したりビルドする方法を学ぶためのチュートリアルをお探しですか?

答えて

10

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をインストールする方法

は似ています

  • クエリ・プラットフォーム。この結果は、AMD、Intel、Nvidiaになります。重複したインストールで間違ったドライバがインストールされたり、新しいopenclのバージョンがサポートされる前の実験プラットフォームになります。
  • プラットフォーム(またはすべてのプラットフォーム)のデバイスを照会します。これにより、個々のデバイス(およびドライバのエラーや修正すべき他のものがある場合はそれらの複製が作成されます)が提供されます。カーネルの文字列を使用して

    • ビルドプログラム:
    • は、コンテキストを使用したプラットフォーム
    • を使用して、コンテキスト(または複数)を作成します(そのすべてがそれで暗黙の同期を持つことになります)。通常、CPUはプログラムをビルドするためにGPUより時間がかかりません(これをshurtcutするためにバイナリロードオプションがあります)

    • プログラムからカーネルをビルドします。
    • ホスト側バッファまたはopencl管理バッファからバッファを作成します。その引数としてカーネル用

      • 選択バッファ:
      • は、コマンドキュー(または複数)

    だけで計算する前に(または計算の配列)を作成します。

  • エンキューバッファ書き込み(又はマップ/アンマップ)「入力」バッファ

計算上の操作:

  • エンキューNDレンジカーネル(指定してカーネルが実行され、どのように多くのスレッドを有する)
  • "出力"バッファのエンキューバッファ読み出し(またはマップ/アンマップ)操作
  • ブロックタイプenqueueBufferReadを使用していない場合は、clFinish()を使用してホストと同期することを忘れないでください。
  • 加速データを使用します。 OpenCLの後

はもう必要ありません:

  • すべてのコマンド・キューが空であることを確認してください/カーネルの仕事をして終えました。あなたは、オープンソースソフトウェアを加速する必要がある場合、それはすでに別の加速をサポートしていない場合、あなたは、簡単なのOpenCLカーネルでホットスポット並列化ループを切り替えることができます

すべての創造の逆の順序で

  • リリース。たとえば、パウダートゥー・サンドボックス・シミュレーターの空気圧と熱移動の部分を加速することができます。

  • 2

    Yes, you canOpenCL is supported by MacOSがネイティブです。

    あなたの質問からは、advice on programmingが見つからないようですが、これはStack Overflowの対象です。 Googleの最初の検索ヒットではhow to turn on OpenCL accelerated effects in After Effects(プロジェクトの設定ダイアログ - >ビデオレンダリングとエフェクト)について説明していますが、私はそれ自身の経験はありません。

    +0

    レイトレーシングは、3次元の視覚化で使用される技術です。パイソン、Webglなどで使用します。すべてのプログラマブル言語が問題になります。私には、「クーダでこれをプログラムすることができますか、それともコードに入れなければならないのでしょうか」という質問があります。グーグルという言葉をして結果を得ることは、最初に出てくる商用ソフトウェアのリンクが正解であることを意味するものではありません!@teraスタックのガイドラインが好きなので、私はあなたのセクションを参照してください:答えは "それをしないでください"ができますが、 "これを代わりに試してください" [https://stackoverflow.com/help/how-to-answer] – user2589273

    関連する問題