Single Instruction, Multiple Dataの略語.ベクトル化演算.
SIMDの類義語としては,他に次のようなものもある.
特定の値を一次元配列内から探し、そのインデックス値を返します。指定した値が配列内に存在しない時は-1を返します。特定の値が一次元配列内に複数含まれる場合は、一番若いインデックス値を返します。以降に処理の概要図を示します。
一次元配列から特定の値を探すプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。
一次元配列から最小値・最大値を探すプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。
一次元配列に含まれる最小値か最大値を見つけ、かつその位置を得るプログラムを紹介します。以降に処理の概要図を示します。
一次元配列に含まれる最小値か最大値を見つけるプログラムを紹介します。以降に処理の概要図を示します。
FMA命令を使用し、行列の積を求めるプログラムを紹介します。行列a (n × m) と b (m × p) の積 c は(n × p) の行列です。分かりやすいように、行列を以降に示します。 これらの積をc に求めるには、 を行います。行列c を以降に示します。
C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。