脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

gpgpuその2 メモリ

メモリの種類

  • レジスタ
  • シェアードメモリ
  • ローカルメモリ
  • グローバルメモリ
  • テクスチャメモリ
  • コンスタントメモリ

アクセススピード

レジスタ > シェアードメモリ >>> ローカルメモリ > グローバルメモリ

容量

グローバルメモリ > ローカルメモリ >>> シェアードメモリ > レジスタ

スコープ

(広い)グローバルメモリ >>> シェアードメモリ >>> ローカルメモリ、レジスタ(狭い)

各メモリ特徴

レジスタ(Read/Write)
  • プロセッサが演算するためのデータをおいたり演算データがおかれる領域
  • 32(もしくは64bit)の記憶容量
  • プロセッサから一番近い場所にある
    • 1クロックでアクセス可能
  • レジスタの個数はデバイスによって異なる
シェアードメモリ(Read/Write/キャッシュされる)
  • SMの中に存在する16KBのメモリ領域
  • 数クロックでアクセス可能
  • 同一ブロック内からのみ参照可能
ローカルメモリ(Read/Write/キャッシュされない)
  • スレッド内部からしかアクセスできない
グローバルメモリ(Read/Write/キャッシュされない)
  • アクセスに数百クロックかかる
  • 大容量
  • まとまった領域を一回の命令で転送する
テクスチャメモリ(Read Only)
  • テクスチャ機能で利用するメモリ
コンスタントメモリ(Read Only)
  • デバイス上のメモリからの読み込みにおけるキャッシュを子ナウ
  • ハーフワープからアクセス可能
  • 同じメモリ領域へのキャッシュ
  • アクセス速度はレジスタと同速