質問

誰もがデスクトップ上にこの巨大な超並列スーパーコンピューターをグラフィックカードGPUの形で持っています。

  • 「こんにちは世界」とはGPUコミュニティと同等ですか?
  • 主要なGPUベンダー向けにGPUのプログラミングを開始するには、どうすればいいですか、どこに行きますか?

-アダム

役に立ちましたか?

解決

NVidiaのCUDAをご覧ください。IMOはGPUプログラミングを行うのに最も簡単なプラットフォームです。読むべきクールな資料がたくさんあります。 http://www.nvidia.com/object/cuda_home.html

Hello worldは、GPUを使用してあらゆる種類の計算を行うことです。

役立つこと。

他のヒント

  1. プログラム可能な頂点を取得し、 実行を許可するピクセルシェーダー GPUで直接コードの するバッファを操作する 描画されます。これらの言語(つまり OpenGLのGLシェーダーラングアンドハイ レベルシェーダーラングとDirectXの同等物 )、Cスタイルの構文であり、実際に 使いやすい。 HLSLのいくつかの例 XNAゲームのこちらにあります。 スタジオとDirectX。私は持っていません まともなGLSL参照ですが、私は 周りにたくさんあることを確認してください。これら シェーダー言語は計り知れない への電力量 頂点ごとに描画されるものを操作する または直接ピクセル単位で グラフィックスカードで、物を作る 影、照明、花のような 実装は本当に簡単です。
  2. 次に頭に浮かぶのは、 openCL で新しいコードをコーディングします 汎用GPUのライン。私は これの使い方はわかりませんが、私の 理解は、openCLが与えることです あなたができることの始まり 両方のプロセッサにアクセスします グラフィックカードと通常のCPU。これはまだ主流の技術ではなく、Appleが推進しているようです。
  3. CUDA はホットなトピックのようです。 CUDAは、nVidiaのGPUパワーへのアクセス方法です。 こちらにはいくつかの紹介
  4. があります

他の人はあなたの2番目の質問に答えたと思います。 1つ目は、「Hello World」 CUDAの標準セットはないと思いますが、個人的には、並列加算器(つまり、N個の整数を合計するプログラム)をお勧めします。

「削減」を見た場合NVIDIA SDKの例では、表面的に単純なタスクを拡張して、結合読み取り、メモリバンクの競合、ループの展開など、CUDAのさまざまな考慮事項を示すことができます。

詳細については、このプレゼンテーションを参照してください:

http://www.gpgpu.org/sc2007/SC07_CUDA_5_Optimization_Harris.pdf

ATI Stream Computing SDK をご覧ください。これは、スタンフォードで開発された BrookGPU に基づいています。

将来、すべてのGPU作業は OpenCL を使用して標準化されます。アップルが後援するイニシアチブで、グラフィックスカードベンダーに中立です。

CUDAは、優れたフレームワークです。 CでGPGPUカーネルを記述できます。コンパイラは、コードからGPUマイクロコードを生成し、CPUで実行されるすべてを通常のコンパイラに送信します。ただし、NVIDIAのみであり、8シリーズ以上のカードでのみ動作します。 CUDAゾーンをチェックして、何ができるかを確認できます。 CUDA SDK には素晴らしいデモがいくつかあります。 SDKに付属のドキュメントは、実際にコードを記述するための非常に良い出発点です。始めるのに最適な行列乗算カーネルの作成手順を説明します。

OpenCL は、コードをプログラミングできるクロスプラットフォームライブラリを作成するための取り組みです。その他、GPU。実行するGPUを知らなくてもコードを記述できるため、いくつかのタイプのGPUを特にターゲットにせずにGPUのパワーの一部を簡単に使用できます。ネイティブのGPUコードほど性能が高いとは思いません(またはGPUメーカーが許可するほどネイティブではありません)が、一部のアプリケーションではトレードオフに値するものです。

まだ比較的初期の段階(この回答の時点では1.1)ですが、業界である程度の支持を得ています。たとえば、OS X 10.5以降でネイティブにサポートされています。

GPU ++ および libSh

LibShリンクには、プログラミング言語をグラフィックスプリミティブ(および明らかに、プリミティブ自体)にバインドする方法についての適切な説明があり、GPU ++ではコードサンプルと共にそのすべてについて説明しています。

MATLABを使用する場合、GPUを使用してテクニカルコンピューティング(マトリックス計算と重い計算/数値計算)を使用するのは非常に簡単になります。ゲーム以外でGPUカードを使用する場合に便利です。以下のリンクをご覧ください:

http://www.mathworks.com/discovery/matlab-gpu.html

このトピックと並列プログラミングにも興味があります。 そして、次のリンクを見つけました。Udacity.comをご覧ください!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top