Fused Multiply-Add Arithmetic
Compute (a * b) + c with a single rounding step instead of two.
Vendor-Neutral Definition
d = round(a * b + c), where the intermediate product is not rounded before the addition — improves precision over separate multiply and add.
⚠️ Cross-vendor mappings describe semantic relationships and are not guaranteed one-to-one compiler
translations.
equivalent with restrictions
Both perform a single-rounding fused multiply-add per IEEE-754.
| Property | NVIDIA PTX | AMDGPU |
|---|---|---|
| Instruction | fma | v_fma_f32 |
| ISA Layer | Virtual | Native |
| Data Types | f32, f64 | f32 |
| Version / Target Introduced | PTX ISA 1.4 | gfx942/gfx1100 |
Important Differences
- Default rounding/denormal handling is mode-register-controlled on AMDGPU rather than instruction-qualified as in PTX's fma.rn.f32.
Source Evidence
- Parallel Thread Execution ISA ↗ — NVIDIA Corporation
- User Guide for AMDGPU Backend ↗ — LLVM Project
Verification method: documentation