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.ボリュームレンダリング