GPGPU 関連
本ページでは, GPGPU に関することを記載しております.
気象学研究室 GPGPU 勉強会
ドライバインストール・各種設定ログ
気象学研究室の計算機に CUDA 環境を整えた際の備忘録です.
GPGPU 化
移流方程式が GPGPU 化するまで
ここでは, NVIDIA 製の CUDA を用いて簡単な移流方程式を GPGPU 化してみる.
- もととなる移流方程式計算ソース
- CUDA は C 言語を拡張したものなので(Fortran 版もあるらしいが), まず, C 言語で書いた簡単な移流方程式のソースを作成する.
- もとは, Fortran で記述していたものを単に C 化しただけ.
- 実行方法
tar ファイルを展開.
$ tar zxvf src.tar.gz
- 展開ディレクトリ内に, 1d, 2d というディレクトリがあることを確認.
- 1d, 2d はそれぞれ, 1 次元, 2 次元の移流計算用ソースが入っている.
自身のマシンに, F90 版 DCL がインストールされている場合は, 1d, 2d 内にて,
$ make
を実行すれば, 移流計算実行ファイルおよび, 結果の図化ファイルが作成される.
DCL がインストールされていない場合は, 上記のリンク先からソースをとってきてインストールするか, 各ディレクトリ内で, 以下のコマンドを実行.
$ gcc [ソースファイル名] -lm -o [実行ファイル名]
この場合は, 実行しても自動で図化されないので, 必要に応じて図化されたい.
- プログラム一覧
- read : C による計算結果を図化するプログラム.
- 本プログラムを実行するには, F90 版 DCL がインストールされている必要があります.
- advect_up : 1 次風上差分による移流計算.
- advect_center : 2 次中央差分による移流計算.
- advect_non : 1 次風上差分による非線形移流計算.
- read : C による計算結果を図化するプログラム.
- 実行プログラムは, ソースプログラムの拡張子を取り除いたものとして作成されます.
- 境界条件はいずれも自由端境界.