GPUによる数値計算
注意
- 工事中です… m(._.)m
- nVIDIA CUDAはLinux用の開発環境を使用します
Windows用の説明は一部当てはまりません。
Web等で検索する場合には注意すること。
課題の概要
グラフィックス用、あるいは、ビデオ処理用のプロセッサを用いて、
数値計算の並列処理を行おうというものです。
GPUはGraphics Processing Unitの略で、
グラフィックス用のプロセッサです。
最近のGPUはCPUの数倍〜数十倍と非常に高性能になり、
数値計算に使おうという動きがあります。
また、ビデオ処理用のプロセッサにも、
並列計算機として使用できるものがあります。
これらのプロセッサによる数値計算を実際に試してみようという課題です。
開発環境としては、
- nVIDIAのGeForce 9800 GTX+とCUDA
1.836GHz動作のプロセッサ×128個
- ATI (AMD) のRadeon HD 4670とStream Technology
750MHz動作のプロセッサ×320個
- 東芝のSpurs Engine
Cell Broadband Engineの親戚にあたる並列処理プロセッサ
を用意しています。
相互に比較してみるのも面白いでしょう。
課題の進め方
- 対象とするプロセッサを決める (後にまわしても良い…)
- 対象となるプロセッサとプログラム開発環境の使い方を学ぶ
- サンプルプログラムを実行してみる (動作確認)
- サンプルプログラムのソースをコンパイルしてみる (コンパイル方法を確認)
- サンプルプログラムを解読する (ソースの書き方を学ぶ)
- 付属のドキュメントを読む (最適化のコツをつかむ)
- 対象とするアプリケーションを選ぶ
- CPU用とGPU用のプログラムを作成し、性能を比較する
nVIDIAのCUDA
CUDA
はCompute Unified Device Architectureの略で、
nVIDIA
の
GeForceシリーズGPU
を用いて数値計算を行うものです。
GPU用のコンパイラ等が提供されています。
Stream Technologyは
AMD (ATI) の
Radeon
GPUを用いて数値計算を行うものです。
GPU用のコンパイラ等が提供されています。
Stream Technology参考資料
東芝のSpurs Engine
画像処理用プロセッサSpurs Engine
を用いて数値計算を行おうというものです。
リンク集
- nVIDIA CUDAに関する情報
- ATI Stream Technologyに関する情報
- Spurs Engineに関する情報
- GPUに関する情報