巫女ブログ

問題提起:観測機の状態と、観測機の観測対象を同時に精度良く観測することは可能か。

CUDAについて その1

2009-02-23 19:34:41 | PCハード
結構リファレンスが充実している。日本語の文章も多く、気軽に始められそう。
C,C++での開発をサポートしている。
 基本的な使い方は、まずCPUからアクセスできる一般的なメモリー(これをホストメモリーと言う)から、GPUのメモリー(ディバイスメモリー)にデータをコピーして、それからGPUでディバイスメモリーのデータをごにょごにょする。処理が終わったら、ディバイスメモリーの処理結果をホストメモリーに送る。この一連の動作を繰り返して計算をするようだ。
 また、ディバイスメモリーにはグローバルメモリーと共有メモリーの2種類があって、グローバルメモリーはグラフィックボード上の外部メモリーで、大容量アクセスが遅い。共有メモリーはグラフィックチップ内部の小型の演算ブロック単位にある小容量のメモリーでアクセスが高速にできる。しかし、ホストからはグローバルメモリーを読み書きできるが、共有メモリーは読み書きできない。この辺のメモリー管理を考えてプログラミングすることで計算を最適化できるらしい。