GPUによる数値計算


注意


課題の概要

 グラフィックス用、あるいは、ビデオ処理用のプロセッサを用いて、 数値計算の並列処理を行おうというものです。 GPUはGraphics Processing Unitの略で、 グラフィックス用のプロセッサです。 最近のGPUはCPUの数倍〜数十倍と非常に高性能になり、 数値計算に使おうという動きがあります。 また、ビデオ処理用のプロセッサにも、 並列計算機として使用できるものがあります。 これらのプロセッサによる数値計算を実際に試してみようという課題です。

 開発環境としては、

を用意しています。 相互に比較してみるのも面白いでしょう。


課題の進め方

  1. 対象とするプロセッサを決める (後にまわしても良い…)
  2. 対象となるプロセッサとプログラム開発環境の使い方を学ぶ
    1. サンプルプログラムを実行してみる (動作確認)
    2. サンプルプログラムのソースをコンパイルしてみる (コンパイル方法を確認)
    3. サンプルプログラムを解読する (ソースの書き方を学ぶ)
    4. 付属のドキュメントを読む (最適化のコツをつかむ)
  3. 対象とするアプリケーションを選ぶ
  4. CPU用とGPU用のプログラムを作成し、性能を比較する

nVIDIAのCUDA

 CUDA はCompute Unified Device Architectureの略で、 nVIDIA GeForceシリーズGPU を用いて数値計算を行うものです。 GPU用のコンパイラ等が提供されています。

CUDA参考資料

ATI (AMD) Stream Technology

  Stream TechnologyAMD (ATI) の Radeon GPUを用いて数値計算を行うものです。 GPU用のコンパイラ等が提供されています。

Stream Technology参考資料

東芝のSpurs Engine

 画像処理用プロセッサSpurs Engine を用いて数値計算を行おうというものです。


リンク集

  1. nVIDIA CUDAに関する情報
  2. ATI Stream Technologyに関する情報
  3. Spurs Engineに関する情報
  4. GPUに関する情報