工学社の"はじめてのCUDAプログラミング"のまとめ。
内容が古かったり、分からなかったりしたところを補完します。

・GPUのアーキテクチャ(p.26~28)
演算性能[Flops] = SP数 * SPクロック * 2(積和演算)
メモリバンド幅[bit/sec] = メモリインターフェース[bit] * メモリクロック

・スレッドの階層構造(p.44~46)
1つのGPUで1グリッド。
グリッドは複数のブロックで構成される。1SMで1ブロック。ブロック数はGPUごとに異なる。
ブロックは複数のスレッドで構成される。1SP(CUDAコア)で1スレッド。スレッド数は世代ごとに異なる。

・高速アクセスのコツ
ウォープ:連続するスレッドでは同じ分岐を通るようにする。
コアレッシング:アライメントずれはSharedMemoryを使って解決する。
バンクコンフリクト:SharedMemoryの同じバンクに同時アクセスしない。