Multiply-accumulate

Multiply-accumulate (z angl. násob-shrň) je matematická operace, která spočítá výsledek násobení a přičte jej do akumulátoru (typicky speciální registr procesoru).

Tato operace je pro celá čísla přesná (obvykle se počítá jako modulo s nějakou mocninou čísla 2).

V FPU (jednotka pro výpočty s pohyblivou řádovou čárkou) mikroprocesorů (CPU, DSP, GPU) je nejčastěji dvakrát rychlejší, než kdyby se násobení a sčítání počítalo zvlášť, ale je k tomu třeba upravená násobička. Operaci podporuje i standard IEEE 754-2008.[1]

V dřívější době to byla typická operace DSP, ale okolo roku 2022 je již implementována ve většině mikroprocesorů, včetně x86-64[2][3], ARM[4], POWER[5] a RISC-V[6]. Používá se zejména v maticových a vektorových algoritmech, například při konvoluci.

Odkazy editovat

Reference editovat

  1. LUTZ, David R. Fused Multiply-Add Microarchitecture Comprising Separate Early-Normalizing Multiply and Add Pipelines. In: 2011 IEEE 20th Symposium on Computer Arithmetic. [s.l.]: [s.n.], 2011-07. ISSN 1063-6889. Dostupné online. DOI 10.1109/ARITH.2011.25. S. 123–128.
  2. Software Optimization Guide for AMD Family 15h Processors. AMD [online]. [cit. 2022-05-18]. Dostupné online. (anglicky) 
  3. Intrinsics for FP Fused Multiply-Add (FMA) Operations. Intel [online]. [cit. 2022-05-18]. Dostupné online. (anglicky) 
  4. Documentation – Arm Developer. developer.arm.com [online]. [cit. 2022-05-18]. Dostupné online. 
  5. Earth Signal. www.ibm.com [online]. [cit. 2022-05-18]. Dostupné online. (anglicky) 
  6. The RISC-V Instruction Set Manual. www.RISCV.org [online]. [cit. 2022-05-18]. Dostupné online. (anglicky) 

Související články editovat