SIMD(Single Instruction, Multiple Data)とは、1つの命令で複数のデータに対して同時に同じ演算を実行する並列処理アーキテクチャです。AIの文脈では、GPUの基本的な演算モデルの一つであり、ベクトル演算やテンソル演算を効率的に処理するための重要な技術です。
SIMDの動作原理
通常のスカラ処理では、1つの加算命令で1組のデータしか処理できませんが、SIMDでは1つの命令で4個、8個、16個など複数組のデータを同時に加算できます。例えば、256ビット幅のSIMDユニットはFP32データを8つ同時に処理でき、理論上8倍の高速化が可能です。
GPUとSIMD/SIMT
GPUはSIMDの概念を拡張したSIMT(Single Instruction, Multiple Threads)アーキテクチャを採用しています。SIMTでは同じ命令を実行する多数のスレッドをグループ(NVIDIAではWarp、AMDではWavefront)として管理し、数千スレッドの大規模並列処理を実現します。
CPUにおけるSIMD
CPUにもSIMD拡張命令セットが搭載されています。Intel/AMDのSSE、AVX、AVX-512、AMX、ARMのNEON、SVEなどがあり、CPU上でのAI推論処理の高速化に活用されています。特にAVX-512やAMXはニューラルネットワーク推論の効率を大幅に改善し、CPUベースのAI推論を現実的な選択肢としています。