SIMD

Single Instruction, Multiple Data の略。1つの命令で複数のデータ要素に対して同時に同じ演算を行う並列処理方式。 #simd

仕組み

通常のスカラー演算は「1命令で1データ」を処理するのに対し、SIMDは専用のベクトルレジスタを使い、まとめて複数データを処理する。例えば256bitのベクトルレジスタなら、32bit浮動小数点数8個や16bit整数16個を一度に格納・演算できる。

用途

画像処理・科学技術計算・マルチメディア処理など、大量データに同じ処理を繰り返すデータ並列なワークロードで大きな性能向上をもたらす。

主な実装

  • x86: SSE (Streaming SIMD Extensions) / AVX
  • ARM: NEON

Apache Arrowは連続したメモリレイアウトのカラムナーフォーマットのため、SIMDによるベクトル化演算と相性が良い。またProject PanamaのVector APIは、SIMD命令を活用したベクトル演算をJavaから扱うためのAPI。

出典

作成日時: 2026-08-09 22:22 / 更新日時: 2026-08-09 22:22