AI用語集
人工知能の完全辞典
カーネル
GPU上で多数のスレッドによって同時に実行されるCUDA関数。カーネルはCPUから起動され、特定のグリッドとブロックの設定でGPUデバイス上で並列実行される。
スレッド
CUDAにおける基本的な実行単位で、GPUプロセッサコア上で実行される単一の命令シーケンスを表す。スレッドはブロックに整理され、異なるデータで同じコードを実行する。
ブロック
共有メモリを介して互いに通信し、実行を同期できるスレッドの集合。ブロックはグリッドに整理され、同じストリーミングマルチプロセッサ(SM)上で実行される。
グリッド
CUDAカーネルの完全な実行構成を構成するスレッドブロックの集合。グリッドは、CUDAにおけるスレッド編成の最上位の階層構造を表す。
ワープ
CUDA SM上でSIMT(Single Instruction Multiple Thread)モードで同時に実行される32スレッドのグループ。ワープ内のすべてのスレッドは同じクロックサイクルで同じ命令を実行する。
共有メモリ
同じブロック内のすべてのスレッドによって共有される高速で小容量のメモリで、スレッド間の効率的な通信を可能にする。共有メモリはグローバルメモリよりもはるかに高速だが、ブロックあたりのサイズは制限されている。
グローバルメモリ
すべてのスレッドとCPUからアクセス可能な大容量だが高レイテンシの主メモリ。グローバルメモリはカーネルの起動間で持続し、データの主要なストレージ領域を構成する。
CUDAランタイムAPI
初期化、モジュールのロード、メモリ管理を自動的に管理することにより、CUDAアプリケーションの開発を簡素化する高レベルのプログラミングインターフェース。cudaMalloc、cudaMemcpy、cudaLaunchKernelなどの関数を提供する。
ストリーム
GPUで決まった順序で実行される操作のシーケンスで、計算操作とメモリ転送の間の並列処理を実現します。ストリームにより、カーネルの同時実行と転送のオーバーラップが可能になります。
非同期実行
GPUでの完了を待たずに、操作が即座にCPUに戻るCUDA実行モードです。非同期実行により、計算と転送を重ね合わせてGPUの利用率を最大化できます。
テクスチャメモリ
2Dまたは3D空間的局所性を持つアクセスに最適化されたメモリで、データの自動キャッシュ機能があります。テクスチャメモリは特に画像処理と低い一貫性を持つアクセスに効果的です。
定数メモリ
全スレッドが同時に同じ値を読み取るブロードキャストアクセスに最適化された読み取り専用メモリです。特にワープ内の全スレッドが同じアドレスにアクセスする場合に効果的です。
オキュパンシー
アクティブなワープの数とストリーミングマルチプロセッサに常駐可能な最大ワープ数との比率を測定します。高いオキュパンシーは必ずしもより良いパフォーマンスを保証するわけではありませんが、レイテンシを隠すのに役立ちます。
原子操作
グローバルメモリまたは共有メモリで原子的に実行される読み取り-変更-書き込み操作で、スレッド間の競合がないことを保証します。リダクションとデータの同時更新に不可欠です。
cuBLAS
基本的な線形代数サブルーチンのためのCUDAライブラリで、基本的な線形代数操作の最適化されたGPU実装を提供します。cuBLASはNVIDIAアーキテクチャでの行列計算とベクトル計算を大幅に高速化します。
cuFFT
CUDA高速フーリエ変換ライブラリで、離散フーリエ変換のための高性能GPU実装を提供します。cuFFTは異なる精度とサイズで1D、2D、3D変換をサポートします。