読み方 : せきわえんざん
積和演算【multiply-accumulate】乗累算/MAC
積和演算とは?
複数の数値の組について掛け算を行い、その結果をすべて足し合わせる計算手法。数式で表すと、a₁×b₁+a₂×b₂+a₃×b₃…という形の計算である。

対応する数値の組を順に掛けて積を求め、その結果を累積して和を求めるだけの単純な計算である。身近な例では、商品の単価と個数を掛けて合計金額を求める作業がこれにあたる。数学的にはベクトルの内積と同じ操作であり、データの類似度を測ったり、特定の要素に重みをつけて集計したりする際によく用いられる。
この演算が特に多用されるのが、デジタル信号処理と機械学習の分野である。画像にぼかしをかける処理では、ある画素の周囲の値に係数を掛けて足し合わせる操作を画面全体で繰り返し、音声フィルタ処理でも同様のパターンが現れる。深層学習では、ニューラルネットワークの各ノードで入力値と重みの積和を計算する処理が、推論の度に膨大な回数発生する。
計算自体は単純だが、扱うデータ量が増えると計算の総量が急増するため、いかに高速かつ効率的に処理するかがシステム全体の性能を左右する。現代のCPUやGPU、AIアクセラレータ(NPU)といったプロセッサの多くは、掛け算と足し算を一命令でまとめて実行できる専用回路を備えている。これにより、二つの演算を逐一行うより処理時間と消費電力の両方を抑えられる。並列処理やベクトル演算命令との組み合わせによって、さらに大量のデータを一括して処理することも可能である。