red GPU Virtual ISA NVIDIA
Reduction Atomic Memory
red.space.op.type [a], b;
Atomically read-modify-write a memory location without returning the prior value.
Encoding
PTX is a virtual instruction set. It has no single, stable native
binary encoding — the compiler lowers this instruction to different native machine
code depending on the selected NVIDIA target architecture (compute capability).
This page intentionally shows no bit-diagram; see the target/version requirements
below for what governs how this instruction compiles.
Syntax Forms
One mnemonic covers many type / state-space / scope / modifier combinations — each row below is an independently valid form.
| Syntax | Data Types | State Space(s) | Modifiers | Min. Target | Description |
|---|---|---|---|---|---|
| red.space.op.type [a], b; | b32, b64, s32, u32, u64, f32, f64 | global, shared | add, min, max, and, or, xor, inc, dec | sm_11 | Same read-modify-write as atom, but discards the prior value — cheaper when the old value isn't needed. |
Operands
-
a
Memory address -
b
Operand value
At a Glance
Reference
NVIDIA PTX ISA
Semantics
*a = op(*a, b).
Sources
- Parallel Thread Execution ISA ↗ — NVIDIA Corporation, Chapter 9 — Instruction Set