R&D支援センター
技術者・研究者向けセミナーの紹介
CUDA/GPGPUアーキテクチャとプログラミングのための基礎知識
会 場 (株)日本テクノセンター研修室 【東京・新宿区】
日 時 平成22年4月2日(金) 10:30~17:30
【講座の内容】
【受講対象】
・PGPU、特に、CUDAについての基礎知識を身につけたい方
・映像・音声処理、物理シミュレーション、製品設計、医療用画像処理などで応用したい方
【予備知識】
・必須知識は、ありません
・望ましい知識として、C言語、もしくは、C++によるプログラミングに関する知識が挙げられます
【習得知識】
・CUDA/GPGPUにおけるプログラミングや得られる実行性能が、通常のCPU上のプログラミングによるものと、明確に異なることが理解できる
・CUDAを適用することで性能の向上が期待できるか、判断を行うための基礎スキルを身につけることができる
・CUDAによる簡単なプログラミングを行うことができるようになる
【講師の言葉】
GPGPUによる並列プログラミング環境として、NVIDIA社によるCUDAが注目を集めつつあります。本講座では、CUDAのアーキテクチャや特性、プログラミングの考え方を説明します。GPUでは非常に高性能な並列処理を実現可能ですが、この理由を、CPUアーキテクチャとの比較を通じて、明らかにします。また、CUDAを用いたプログラムの典型的な例を挙げ、プログラムを書くために必要な基礎知識についても説明します。
最後に、受講者の皆さんが、実際にCUDAによるプログラミングを始められる際の参考となるよう、NVIDIAから配布されているCUDASDKに含まれるサンプルを題材に、CUDAを効率よく活用するためのアルゴリズムや、サンプルにおける並列処理の構成などを、具体的に解説します。
【プログラム】
Ⅰ.CUDA概説
1.CUDA/GPGPUアーキテクチャ
2.高いパフォーマンスが得られる理由
3.典型的な処理の構成
4.得意な分野・苦手な分野
5.基本的なプログラミング
a.開発環境
b.CUDAカーネル
c.ホスト側コード
6.プロファイラによる性能評価
a.バンド幅計測
b.演算性能計測
Ⅱ.サンプルとアルゴリズム解説(CUDASDKダイジェスト)
1.N体シミュレーション
2.粒子法・ソート
3.物理シミュレーションのための疑似乱数生成
4.二次元流体
5.ボリュームレンダリング