最終更新:2018-02-15 (木) 19:55:58 (516d)  

ストリーミングマルチプロセッサ はてなブックマークを見る
Top / ストリーミングマルチプロセッサ

Streaming Multiprocessor

Volta

Pascal

GP100?

GP102

  • 30SMx128CUDAコア
  • Tesla P40?

Maxwell

  • 128CUDAコア/SM

Kepler

SMX

  • 192基のCUDAコア
  • L1キャッシュ
  • 16基のテクスチャユニット
  • 1基のジオメトリエンジン

処理

  • CUDAコアは16ユニットずつ1グループとしてまとめられている
  • 16ユニットのグループに、2サイクル(命令によっては2サイクル以上)かけて、32スレッドのWARPの命令発行を行なう。

Fermi

  • SMあたり32個のCUDAコア(GT200の4倍)
    • 2Cycleで2Warpを処理
      • SM1個に含まれる32個のCUDAコアは16個でひとつの塊となっており、 1サイクルで半ワープ(16個)ずつ処理される
  • SMあたりのレジスタ:32bit*32768本
  • 倍精度浮動小数点数の演算能力がピークでGT200の8倍
  • 32スレッドのワープを1クロックあたり2つ、スケジューリングしてディスパッチできるデュアルワープスケジューラ
  • 共有メモリとL1キャッシュのパーティションを自由に構成可能な64KBのRAM

GT200

  • SMあたりのプロセッサ(Streaming Processor,CUDAコア)は8。
    • SMあたり8コアなので8スレッド並列 - 4サイクルでWarp1つ分の32スレッドの命令を発行
  • SMあたりのレジスタ:32bit*16384本
  • 共有メモリは16KB

G80/Tesla

  • SMあたりのプロセッサ(Streaming Processor,CUDAコア)は8。
    • SMあたり8コアなので8スレッド並列 - 4サイクルでWarp1つ分の32スレッドの命令を発行
  • SMあたりのレジスタ:32bit*8192本
  • 共有メモリは16KB

CUDA/スレッドブロック

  • 1つのマルチプロセッサ(SM)で同時に扱えるスレッド数には制限がある。
  • CUDAスレッドブロック?をマルチプロセッサ(SM)へ割り当てる単位にしている。

関連

参考