From d21bb20b3a2f868e6587685b021edd924e619d1d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:21:12 +0000 Subject: [PATCH 01/24] Initial plan From 445e4ecb6f4ae2fadfbd779fee9d13c6978c7fec Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 19:35:43 +0000 Subject: [PATCH 02/24] Implement Ring Attention (arxiv:2310.01889) Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com> --- examples/32_ring_attention/README.md | 115 +++++++ examples/32_ring_attention/example_run.py | 129 ++++++++ .../ring_attention_kernels.py | 296 ++++++++++++++++++ .../32_ring_attention/ring_attention_layer.py | 73 +++++ tests/examples/test_ring_attention.py | 187 +++++++++++ 5 files changed, 800 insertions(+) create mode 100644 examples/32_ring_attention/README.md create mode 100644 examples/32_ring_attention/example_run.py create mode 100644 examples/32_ring_attention/ring_attention_kernels.py create mode 100644 examples/32_ring_attention/ring_attention_layer.py create mode 100644 tests/examples/test_ring_attention.py diff --git a/examples/32_ring_attention/README.md b/examples/32_ring_attention/README.md new file mode 100644 index 00000000..329589de --- /dev/null +++ b/examples/32_ring_attention/README.md @@ -0,0 +1,115 @@ + + +# Ring Attention + +An implementation of **Ring Attention with Blockwise Transformers** for +near-infinite context on AMD GPUs using [Iris](../../README.md). + +> Liu, H., Li, M., Hall, A., Dao, T., & Abbeel, P. (2023). +> *Ring Attention with Blockwise Transformers for Near-Infinite Context.* +> arXiv:2310.01889. + +--- + +## Algorithm + +Standard self-attention requires O(n²) memory in the sequence length n. +Ring Attention enables sequences far longer than what fits on a single device +by distributing them across a *ring* of GPUs: + +1. The full sequence is split evenly across **N GPUs** along the sequence + dimension. Each device holds a chunk of Q, K, and V of length + `seq_total / N`. +2. **Q stays local**. K and V rotate around the ring one step at a time. +3. At each of the **N steps**, every device runs a local + [Flash Attention](https://arxiv.org/abs/2205.14135) pass and accumulates + the result using **online softmax**. +4. After all N steps the accumulator is normalised to yield the final output. + +For **causal (autoregressive) attention** only the steps where the KV chunk +precedes or coincides with the Q chunk contribute, allowing early termination +for some ranks and reducing total compute. + +``` +Step 0: rank r processes its own K_r, V_r (causal block diagonal) +Step 1: rank r receives K_{r-1}, V_{r-1} (full attention, past) +... +Step r: rank r receives K_0, V_0 (full attention, past) +Step r+1..N-1: all-future chunks – skipped (causal mode only) +``` + +--- + +## Files + +| File | Description | +|------|-------------| +| `ring_attention_kernels.py` | Triton flash-attention kernel + Python ring-rotation helper | +| `ring_attention_layer.py` | `RingAttention` – a `torch.nn.Module` wrapper | +| `example_run.py` | End-to-end demo with timing | + +--- + +## Usage + +### Quick demo + +```bash +# 2 GPUs, causal attention (default) +python examples/32_ring_attention/example_run.py + +# 4 GPUs, bidirectional +python examples/32_ring_attention/example_run.py --num_ranks 4 --no_causal + +# Custom sizes +python examples/32_ring_attention/example_run.py \ + --num_ranks 8 \ + --total_seq_len 131072 \ + --num_heads 32 \ + --head_dim 128 +``` + +### Validation + +```bash +python tests/run_tests_distributed.py tests/examples/test_ring_attention.py --num_ranks 2 -v +``` + +--- + +## Python API + +```python +import iris +from examples.ring_attention.ring_attention_layer import RingAttention + +shmem = iris.iris() + +# Each rank holds its local chunk +layer = RingAttention( + shmem, + num_heads=16, + head_dim=64, + causal=True, # autoregressive masking +) + +# q, k, v: [seq_local, num_heads, head_dim] (float16 or bfloat16) +output = layer(q, k, v) # [seq_local, num_heads, head_dim] +``` + +--- + +## Design Notes + +* **Communication**: KV rotation uses `torch.distributed.isend` / `irecv` + (point-to-point), launching overlapping sends and receives to maximise + throughput. +* **Online softmax**: The kernel maintains running max (`M`) and sum (`L`) + accumulators in float32 for numerical stability. The final output is + `O / L` after all ring steps. +* **Causal masking**: Handled entirely at the granularity of KV *chunks* – + full attention, diagonal block attention, or skip – so the per-element mask + is applied only in the same-block diagonal case. diff --git a/examples/32_ring_attention/example_run.py b/examples/32_ring_attention/example_run.py new file mode 100644 index 00000000..a17bf88b --- /dev/null +++ b/examples/32_ring_attention/example_run.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. + +""" +Minimal example demonstrating ring attention using the RingAttention layer. + +The sequence is split evenly across GPUs along the sequence dimension. +Each rank computes its share of the attention output. After the ring passes +Q and V are combined via online-softmax, yielding the same result as a single +device running full attention on the entire sequence. + +Usage:: + + # Run on 2 GPUs (default) + python examples/32_ring_attention/example_run.py + + # Run on 4 GPUs + python examples/32_ring_attention/example_run.py --num_ranks 4 + + # Non-causal (bidirectional) attention + python examples/32_ring_attention/example_run.py --no_causal +""" + +import argparse + +import torch +import torch.distributed as dist +import torch.multiprocessing as mp + +import iris +from ring_attention_layer import RingAttention + + +def parse_args(): + parser = argparse.ArgumentParser(description="Ring Attention example") + parser.add_argument("--total_seq_len", type=int, default=4096, help="Total sequence length (split across GPUs)") + parser.add_argument("--num_heads", type=int, default=16, help="Number of attention heads") + parser.add_argument("--head_dim", type=int, default=64, help="Head dimension") + parser.add_argument("--num_ranks", type=int, default=2, help="Number of GPUs") + parser.add_argument("--no_causal", action="store_true", help="Use bidirectional (non-causal) attention") + parser.add_argument( + "--dtype", + type=str, + default="float16", + choices=["float16", "bfloat16"], + help="Input tensor dtype", + ) + return parser.parse_args() + + +def run(rank: int, world_size: int, init_url: str, args): + backend = "nccl" if torch.cuda.is_available() else "gloo" + dist.init_process_group( + backend=backend, + init_method=init_url, + world_size=world_size, + rank=rank, + device_id=torch.device(f"cuda:{rank}"), + ) + + shmem = iris.iris() + torch.manual_seed(42) + torch.set_default_device("cuda") + + dtype = getattr(torch, args.dtype) + causal = not args.no_causal + + seq_local = args.total_seq_len // world_size + num_heads = args.num_heads + head_dim = args.head_dim + + if rank == 0: + attn_type = "causal" if causal else "bidirectional" + print(f"--- Ring Attention Example ({attn_type}) ---") + print(f" GPUs : {world_size}") + print(f" Total seq len : {args.total_seq_len}") + print(f" Seq per GPU : {seq_local}") + print(f" Heads × dim : {num_heads} × {head_dim}") + print(f" dtype : {dtype}") + + # Each rank creates its local Q, K, V chunk + q = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + k = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + v = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + + shmem.barrier() + + layer = RingAttention(shmem, num_heads=num_heads, head_dim=head_dim, causal=causal) + + # Warm-up pass + _ = layer(q, k, v) + torch.cuda.synchronize() + shmem.barrier() + + # Timed pass + start = torch.cuda.Event(enable_timing=True) + end = torch.cuda.Event(enable_timing=True) + + start.record() + output = layer(q, k, v) + end.record() + + torch.cuda.synchronize() + elapsed_ms = start.elapsed_time(end) + + if rank == 0: + print(f"\nOutput shape : {output.shape}") + print(f"Output dtype : {output.dtype}") + print(f"Elapsed time : {elapsed_ms:.2f} ms") + print(f"Output[0, 0, :4] = {output[0, 0, :4].float()}") + + shmem.barrier() + dist.destroy_process_group() + + +def main(): + args = parse_args() + init_url = "tcp://127.0.0.1:29500" + mp.spawn( + fn=run, + args=(args.num_ranks, init_url, args), + nprocs=args.num_ranks, + join=True, + ) + + +if __name__ == "__main__": + main() diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py new file mode 100644 index 00000000..ae996c65 --- /dev/null +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -0,0 +1,296 @@ +################################################################################ +# SPDX-License-Identifier: MIT +# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +# +# +# Ring Attention implementation based on: +# "Ring Attention with Blockwise Transformers for Near-Infinite Context" +# Liu et al., 2023 (https://arxiv.org/pdf/2310.01889) +# +################################################################################ + +import torch +import torch.distributed as dist +import triton +import triton.language as tl +from triton.language.extra import libdevice + + +@triton.jit +def _ring_attn_fwd_kernel( + Q, + K, + V, + O, + M, + L, + # strides for Q, K, V, O: [seq, num_heads, head_dim] + stride_qs, + stride_qh, + stride_qd, + stride_ks, + stride_kh, + stride_kd, + stride_vs, + stride_vh, + stride_vd, + stride_os, + stride_oh, + stride_od, + # strides for M, L: [num_heads, seq] + stride_mh, + stride_ms, + stride_lh, + stride_ls, + # sizes + seq_q, + seq_kv, + # global offsets for causal masking + q_rank_start, + kv_rank_start, + scale, + # compile-time constants + CAUSAL: tl.constexpr, + BLOCK_Q: tl.constexpr, + BLOCK_KV: tl.constexpr, + HEAD_DIM: tl.constexpr, +): + """ + Flash attention kernel for one ring step. + + Each program instance handles one attention head and one block of Q tokens. + Iterates over all KV blocks and accumulates using online softmax. + + Accumulates into O (unnormalized), M (running log-sum-exp), L (running sum). + The final output is O / L, computed after all ring steps complete. + """ + h = tl.program_id(0) + q_blk = tl.program_id(1) + + q_off = q_blk * BLOCK_Q + q_idx = q_off + tl.arange(0, BLOCK_Q) + q_mask = q_idx < seq_q + + # Load Q block: [BLOCK_Q, HEAD_DIM] + q_ptrs = Q + h * stride_qh + q_idx[:, None] * stride_qs + tl.arange(0, HEAD_DIM)[None, :] * stride_qd + q = tl.load(q_ptrs, mask=q_mask[:, None], other=0.0).to(tl.float32) + + # Load running statistics for this head and Q block + m_ptrs = M + h * stride_mh + q_idx * stride_ms + l_ptrs = L + h * stride_lh + q_idx * stride_ls + o_ptrs = O + h * stride_oh + q_idx[:, None] * stride_os + tl.arange(0, HEAD_DIM)[None, :] * stride_od + + m = tl.load(m_ptrs, mask=q_mask, other=-float("inf")) + l = tl.load(l_ptrs, mask=q_mask, other=0.0) + o = tl.load(o_ptrs, mask=q_mask[:, None], other=0.0).to(tl.float32) + + # Global Q positions for causal masking. + # Triton loads q_rank_start (a Python int) and q_idx (int32 arange) as int32. + # The maximum value is world_size * seq_q which fits comfortably in int32. + q_global = q_rank_start + q_idx + + # Iterate over all KV blocks + d_idx = tl.arange(0, HEAD_DIM) + for kv_off in range(0, seq_kv, BLOCK_KV): + kv_idx = kv_off + tl.arange(0, BLOCK_KV) + kv_mask = kv_idx < seq_kv + + # Load K in transposed layout [HEAD_DIM, BLOCK_KV] for efficient dot product + k_ptrs = K + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks + v_ptrs = V + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd + + k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0).to(tl.float32) + v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0).to(tl.float32) + + # Attention scores: [BLOCK_Q, BLOCK_KV] = Q [BLOCK_Q, HEAD_DIM] @ K^T [HEAD_DIM, BLOCK_KV] + qk = tl.dot(q, k) * scale + + # Apply padding mask (validity) and optional causal mask + if CAUSAL: + kv_global = kv_rank_start + kv_idx + # Causal: token at kv_pos can only be attended to if kv_pos <= q_pos + causal_mask = kv_global[None, :] <= q_global[:, None] + qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) + else: + qk = tl.where(kv_mask[None, :], qk, -float("inf")) + + # Online softmax accumulation + # m_new = max(m, row_max(qk)) + m_new = tl.maximum(m, tl.max(qk, axis=1)) + + # Scale factor for previous running values + alpha = libdevice.fast_expf(m - m_new) + + # Unnormalized attention probabilities + p = libdevice.fast_expf(qk - m_new[:, None]) + + # Update running sum + l = alpha * l + tl.sum(p, axis=1) + + # Update running output (unnormalized weighted value sum) + o = alpha[:, None] * o + tl.dot(p, v) + + # Update running max + m = m_new + + # Write back updated statistics and output + tl.store(m_ptrs, m, mask=q_mask) + tl.store(l_ptrs, l, mask=q_mask) + tl.store(o_ptrs, o, mask=q_mask[:, None]) + + +def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None): + """ + Ring Attention forward pass. + + Each device holds a contiguous chunk of the sequence (Q, K, V). K and V + are rotated around the ring of devices using torch.distributed send/recv, + while Q remains local. At each step the local flash-attention kernel + accumulates partial results into O, M, L using online softmax. + + After all ``world_size`` steps, O is normalised by L to produce the output. + + Args: + q (torch.Tensor): Query tensor, shape ``[seq_q, num_heads, head_dim]``. + Lives on the local device's CUDA memory. + k (torch.Tensor): Key tensor, same shape as ``q``. + v (torch.Tensor): Value tensor, same shape as ``q``. + shmem: Iris shmem context (provides ``get_rank()`` / ``get_num_ranks()`` + and ``barrier()``). + causal (bool): If ``True``, apply a causal (lower-triangular) mask so + that position ``i`` only attends to positions ``j <= i``. + scale (float | None): Softmax scale factor. Defaults to + ``head_dim ** -0.5``. + + Returns: + torch.Tensor: Attention output, shape ``[seq_q, num_heads, head_dim]``, + same dtype as ``q``. + """ + rank = shmem.get_rank() + world_size = shmem.get_num_ranks() + + seq_q, num_heads, head_dim = q.shape + seq_kv = k.shape[0] + + assert (head_dim & (head_dim - 1)) == 0, f"head_dim must be a power of 2, got {head_dim}" + assert seq_q % 64 == 0, f"seq_q ({seq_q}) must be divisible by BLOCK_Q (64)" + assert seq_kv % 64 == 0, f"seq_kv ({seq_kv}) must be divisible by BLOCK_KV (64)" + + if scale is None: + scale = head_dim**-0.5 + + input_dtype = q.dtype + + # Running accumulators in float32 for numerical stability + # O is the *unnormalized* weighted value sum + O = torch.zeros(seq_q, num_heads, head_dim, dtype=torch.float32, device=q.device) + # M: running row-max (log domain), L: running normalisation denominator + M = torch.full((num_heads, seq_q), fill_value=-float("inf"), dtype=torch.float32, device=q.device) + L = torch.zeros(num_heads, seq_q, dtype=torch.float32, device=q.device) + + # Choose block sizes; keep them as powers of 2 + BLOCK_Q = 64 + BLOCK_KV = 64 + HEAD_DIM = head_dim # already validated as power of 2 + + # We work with a rotating KV pair; start from the local K, V + k_cur = k.contiguous() + v_cur = v.contiguous() + + next_rank = (rank + 1) % world_size + prev_rank = (rank - 1 + world_size) % world_size + + for step in range(world_size): + # The KV chunk we currently hold comes from rank kv_rank + kv_rank = (rank - step) % world_size + + # Determine masking strategy for this step + if causal: + if kv_rank > rank: + # All KV positions are strictly AFTER our Q positions → skip + if step < world_size - 1: + k_cur, v_cur = _rotate_kv(k_cur, v_cur, next_rank, prev_rank) + continue + elif kv_rank == rank: + # Same block → apply diagonal causal mask + apply_causal = True + else: + # KV positions are all BEFORE our Q positions → full attention + apply_causal = False + else: + apply_causal = False + + q_rank_start = rank * seq_q + kv_rank_start = kv_rank * seq_kv + + grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) + _ring_attn_fwd_kernel[grid]( + q, + k_cur, + v_cur, + O, + M, + L, + q.stride(0), + q.stride(1), + q.stride(2), + k_cur.stride(0), + k_cur.stride(1), + k_cur.stride(2), + v_cur.stride(0), + v_cur.stride(1), + v_cur.stride(2), + O.stride(0), + O.stride(1), + O.stride(2), + M.stride(0), + M.stride(1), + L.stride(0), + L.stride(1), + seq_q, + seq_kv, + q_rank_start, + kv_rank_start, + scale, + CAUSAL=apply_causal, + BLOCK_Q=BLOCK_Q, + BLOCK_KV=BLOCK_KV, + HEAD_DIM=HEAD_DIM, + num_warps=4, + num_stages=2, + ) + + # Rotate K, V to the next step (not needed after the last step) + if step < world_size - 1: + k_cur, v_cur = _rotate_kv(k_cur, v_cur, next_rank, prev_rank) + + # Normalize: output = O / L, where L is the softmax denominator + # L: [num_heads, seq_q] → [seq_q, num_heads, 1] for broadcasting + L_expanded = L.permute(1, 0).unsqueeze(-1) # [seq_q, num_heads, 1] + output = O / L_expanded + + return output.to(input_dtype) + + +def _rotate_kv(k, v, next_rank, prev_rank): + """ + Perform one step of ring KV rotation using point-to-point communication. + + Sends the current ``k`` and ``v`` tensors to ``next_rank`` and receives + new ``k`` and ``v`` from ``prev_rank``. + + The send and receive are posted concurrently to avoid deadlocks. + """ + k_recv = torch.empty_like(k) + v_recv = torch.empty_like(v) + + reqs = [] + reqs.append(dist.isend(k.contiguous(), dst=next_rank)) + reqs.append(dist.irecv(k_recv, src=prev_rank)) + reqs.append(dist.isend(v.contiguous(), dst=next_rank)) + reqs.append(dist.irecv(v_recv, src=prev_rank)) + + for r in reqs: + r.wait() + + return k_recv, v_recv diff --git a/examples/32_ring_attention/ring_attention_layer.py b/examples/32_ring_attention/ring_attention_layer.py new file mode 100644 index 00000000..ecdf2aa5 --- /dev/null +++ b/examples/32_ring_attention/ring_attention_layer.py @@ -0,0 +1,73 @@ +################################################################################ +# SPDX-License-Identifier: MIT +# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +# +# +# Ring Attention layer based on: +# "Ring Attention with Blockwise Transformers for Near-Infinite Context" +# Liu et al., 2023 (https://arxiv.org/pdf/2310.01889) +# +################################################################################ + +import torch +import torch.nn as nn + +from ring_attention_kernels import ring_attn_fwd + + +class RingAttention(nn.Module): + """ + Ring Attention layer for sequence-parallel attention over very long sequences. + + The sequence is assumed to be **already split** across devices along the + sequence dimension before calling ``forward``. Each device receives a + contiguous chunk of Q, K, and V of shape ``[seq_local, num_heads, head_dim]``. + + Internally the layer implements the ring attention algorithm from Liu et al. + (2023): K and V rotate around the device ring while Q stays local, with + online softmax accumulation at every step. + + Args: + shmem: Iris shmem context used for ``barrier()`` and rank queries. + num_heads (int): Number of attention heads. + head_dim (int): Dimension of each attention head. + causal (bool): Whether to apply a causal (lower-triangular) attention + mask. Default: ``True``. + scale (float | None): Softmax scale. Defaults to + ``head_dim ** -0.5``. + + Example:: + + shmem = iris.iris() + layer = RingAttention(shmem, num_heads=16, head_dim=64) + q = torch.randn(seq_local, 16, 64, device="cuda", dtype=torch.float16) + k = torch.randn_like(q) + v = torch.randn_like(q) + output = layer(q, k, v) # [seq_local, 16, 64] + """ + + def __init__(self, shmem, num_heads: int, head_dim: int, causal: bool = True, scale: float | None = None): + super().__init__() + self.shmem = shmem + self.num_heads = num_heads + self.head_dim = head_dim + self.causal = causal + self.scale = scale if scale is not None else head_dim**-0.5 + + def forward(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Tensor: + """ + Compute ring attention. + + Args: + q: Query tensor ``[seq_local, num_heads, head_dim]``. + k: Key tensor ``[seq_local, num_heads, head_dim]``. + v: Value tensor ``[seq_local, num_heads, head_dim]``. + + Returns: + Attention output tensor ``[seq_local, num_heads, head_dim]``. + """ + assert q.shape == k.shape == v.shape, "Q, K, V must have the same shape" + assert q.shape[1] == self.num_heads, f"Expected {self.num_heads} heads, got {q.shape[1]}" + assert q.shape[2] == self.head_dim, f"Expected head_dim {self.head_dim}, got {q.shape[2]}" + + return ring_attn_fwd(q, k, v, self.shmem, causal=self.causal, scale=self.scale) diff --git a/tests/examples/test_ring_attention.py b/tests/examples/test_ring_attention.py new file mode 100644 index 00000000..fdd8a0e6 --- /dev/null +++ b/tests/examples/test_ring_attention.py @@ -0,0 +1,187 @@ +################################################################################ +# SPDX-License-Identifier: MIT +# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. +# +# +# Correctness tests for Ring Attention. +# +# Each test validates the distributed ring-attention output against a +# single-device PyTorch reference implementation. +# +################################################################################ + +import gc +import sys +from pathlib import Path + +import pytest +import torch +import iris + +project_root = Path(__file__).resolve() +while not (project_root / "tests").is_dir() or not (project_root / "examples").is_dir(): + if project_root == project_root.parent: + raise FileNotFoundError("Could not find project root") + project_root = project_root.parent + +module_dir = project_root / "examples" / "32_ring_attention" +if module_dir.exists(): + sys.path.insert(0, str(module_dir)) + +from ring_attention_layer import RingAttention # noqa: E402 + + +# --------------------------------------------------------------------------- +# Reference (single-device) implementation +# --------------------------------------------------------------------------- + + +def ref_attention( + q: torch.Tensor, + k: torch.Tensor, + v: torch.Tensor, + scale: float, + causal: bool, +) -> torch.Tensor: + """ + Reference causal/non-causal self-attention on a single device. + + Args: + q: ``[total_seq, num_heads, head_dim]`` + k: ``[total_seq, num_heads, head_dim]`` + v: ``[total_seq, num_heads, head_dim]`` + scale: Softmax scale factor. + causal: Whether to apply causal masking. + + Returns: + Attention output ``[total_seq, num_heads, head_dim]``. + """ + total_seq, num_heads, head_dim = q.shape + # Work in float32 for reference accuracy + q_f = q.float() + k_f = k.float() + v_f = v.float() + + # [num_heads, total_seq, head_dim] + q_h = q_f.permute(1, 0, 2) + k_h = k_f.permute(1, 0, 2) + v_h = v_f.permute(1, 0, 2) + + # Attention scores: [num_heads, total_seq, total_seq] + attn = torch.bmm(q_h, k_h.transpose(-1, -2)) * scale + + if causal: + mask = torch.triu(torch.ones(total_seq, total_seq, device=q.device, dtype=torch.bool), diagonal=1) + attn = attn.masked_fill(mask.unsqueeze(0), float("-inf")) + + attn = torch.softmax(attn, dim=-1) + out = torch.bmm(attn, v_h) # [num_heads, total_seq, head_dim] + return out.permute(1, 0, 2).to(q.dtype) # [total_seq, num_heads, head_dim] + + +# --------------------------------------------------------------------------- +# Helper +# --------------------------------------------------------------------------- + + +def _run_ring_attn_test(total_seq_len, num_heads, head_dim, causal, dtype): + """Run one correctness check; called from test functions.""" + shmem = None + try: + shmem = iris.iris() + rank = shmem.get_rank() + num_ranks = shmem.get_num_ranks() + + torch.set_default_device("cuda") + torch.manual_seed(0) + + scale = head_dim**-0.5 + seq_local = total_seq_len // num_ranks + + # Rank 0 creates the full Q, K, V and broadcasts to all ranks so that + # the reference and distributed implementations see the same data. + if rank == 0: + q_full = torch.randn(total_seq_len, num_heads, head_dim, dtype=dtype) * 0.1 + k_full = torch.randn(total_seq_len, num_heads, head_dim, dtype=dtype) * 0.1 + v_full = torch.randn(total_seq_len, num_heads, head_dim, dtype=dtype) * 0.1 + else: + q_full = torch.empty(total_seq_len, num_heads, head_dim, dtype=dtype) + k_full = torch.empty(total_seq_len, num_heads, head_dim, dtype=dtype) + v_full = torch.empty(total_seq_len, num_heads, head_dim, dtype=dtype) + + q_full = torch.from_numpy(shmem.broadcast(q_full.cpu().numpy(), source_rank=0)).to(q_full.device) + k_full = torch.from_numpy(shmem.broadcast(k_full.cpu().numpy(), source_rank=0)).to(k_full.device) + v_full = torch.from_numpy(shmem.broadcast(v_full.cpu().numpy(), source_rank=0)).to(v_full.device) + + # Local chunks for this rank + q_local = q_full[rank * seq_local : (rank + 1) * seq_local].contiguous() + k_local = k_full[rank * seq_local : (rank + 1) * seq_local].contiguous() + v_local = v_full[rank * seq_local : (rank + 1) * seq_local].contiguous() + + shmem.barrier() + + # --- Distributed ring attention --- + layer = RingAttention(shmem, num_heads=num_heads, head_dim=head_dim, causal=causal, scale=scale) + output_local = layer(q_local, k_local, v_local) + torch.cuda.synchronize() + + # --- Single-device reference --- + ref_full = ref_attention(q_full, k_full, v_full, scale=scale, causal=causal) + ref_local = ref_full[rank * seq_local : (rank + 1) * seq_local] + + shmem.barrier() + + # Compare with relatively tight tolerances + atol, rtol = (2e-2, 2e-2) if dtype == torch.float16 else (1e-2, 1e-2) + error = None + try: + torch.testing.assert_close(output_local.float(), ref_local.float(), atol=atol, rtol=rtol) + except AssertionError as e: + error = e + + # Print a brief report from rank 0 + if rank == 0: + max_diff = (output_local.float() - ref_local.float()).abs().max().item() + status = "PASSED" if error is None else "FAILED" + print( + f"[Rank 0] Ring Attention test {status} | " + f"seq={total_seq_len} h={num_heads} d={head_dim} " + f"causal={causal} dtype={dtype} | max_diff={max_diff:.6f}" + ) + + shmem.barrier() + + if error is not None: + raise error + + finally: + if shmem is not None: + try: + shmem.barrier() + except Exception: + pass + del shmem + gc.collect() + + +# --------------------------------------------------------------------------- +# Tests +# --------------------------------------------------------------------------- + + +@pytest.mark.parametrize("head_dim", [64, 128]) +@pytest.mark.parametrize("num_heads", [8, 16]) +@pytest.mark.parametrize("total_seq_len", [512, 2048]) +@pytest.mark.parametrize("causal", [True, False]) +def test_ring_attention_correctness(total_seq_len, num_heads, head_dim, causal): + """ + Validate ring attention output against a single-device PyTorch reference + for both causal and bidirectional modes. + """ + _run_ring_attn_test( + total_seq_len=total_seq_len, + num_heads=num_heads, + head_dim=head_dim, + causal=causal, + dtype=torch.float16, + ) From 32c79d7a3452a03323f45dbfb50b3f8248624e6f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 19:57:03 +0000 Subject: [PATCH 03/24] Replace torch.distributed with iris.put for ring KV rotation Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com> --- examples/32_ring_attention/README.md | 15 +- .../ring_attention_kernels.py | 229 +++++++++++------- 2 files changed, 152 insertions(+), 92 deletions(-) diff --git a/examples/32_ring_attention/README.md b/examples/32_ring_attention/README.md index 329589de..ba0166b1 100644 --- a/examples/32_ring_attention/README.md +++ b/examples/32_ring_attention/README.md @@ -104,12 +104,19 @@ output = layer(q, k, v) # [seq_local, num_heads, head_dim] ## Design Notes -* **Communication**: KV rotation uses `torch.distributed.isend` / `irecv` - (point-to-point), launching overlapping sends and receives to maximise - throughput. +* **Communication**: KV rotation uses `iris.put` Triton kernels — each rank + pushes its K/V chunk directly to the next rank's symmetric heap buffer. + A `shmem.barrier()` after each push ensures all ranks have received the + data before the next attention step proceeds. No `torch.distributed` APIs + are used. +* **Ping-pong buffers**: Two symmetric buffer pairs (`k_ping`/`k_pong` and + `v_ping`/`v_pong`) alternate as source and destination on each step. This + guarantees the source being read and the destination being written are + always different allocations, avoiding any read-after-write hazard. * **Online softmax**: The kernel maintains running max (`M`) and sum (`L`) accumulators in float32 for numerical stability. The final output is `O / L` after all ring steps. * **Causal masking**: Handled entirely at the granularity of KV *chunks* – full attention, diagonal block attention, or skip – so the per-element mask - is applied only in the same-block diagonal case. + is applied only in the same-block diagonal case. All ranks still + participate in the rotation (required for the barrier to be well-defined). diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index ae996c65..5520cad3 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -10,10 +10,42 @@ ################################################################################ import torch -import torch.distributed as dist import triton import triton.language as tl from triton.language.extra import libdevice +import iris + + +@triton.jit +def _put_tensor_kernel( + src, + dst, + n_elem, + cur_rank: tl.constexpr, + next_rank: tl.constexpr, + heap_bases, + BLOCK: tl.constexpr, +): + """ + Copy a flat tensor from the current rank to the next rank using ``iris.put``. + + Every rank runs this kernel simultaneously. ``dst`` must reside on the Iris + symmetric heap so that the address can be translated to ``next_rank``'s + address space. + + Args: + src: Source pointer (local CUDA memory, does not need to be symmetric). + dst: Destination pointer (must be on the symmetric heap). + n_elem: Total number of elements to copy. + cur_rank: This rank's ID. + next_rank: Destination rank ID. + heap_bases: Iris heap base address table. + BLOCK: Number of elements each program instance handles. + """ + pid = tl.program_id(0) + offs = pid * BLOCK + tl.arange(0, BLOCK) + mask = offs < n_elem + iris.put(src + offs, dst + offs, cur_rank, next_rank, heap_bases, mask=mask) @triton.jit @@ -144,19 +176,24 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None): Ring Attention forward pass. Each device holds a contiguous chunk of the sequence (Q, K, V). K and V - are rotated around the ring of devices using torch.distributed send/recv, - while Q remains local. At each step the local flash-attention kernel - accumulates partial results into O, M, L using online softmax. + are rotated around the ring of devices using Iris ``put`` operations (via + ``_put_tensor_kernel``), while Q remains local. At each step the local + flash-attention kernel accumulates partial results into O, M, L using + online softmax. After all ``world_size`` steps, O is normalised by L to produce the output. + Communication uses two ping-pong symmetric buffers per tensor (K and V), + allocated on the Iris heap. After each push, ``shmem.barrier()`` ensures + all ranks have received the new data before proceeding to the next step. + Args: q (torch.Tensor): Query tensor, shape ``[seq_q, num_heads, head_dim]``. Lives on the local device's CUDA memory. k (torch.Tensor): Key tensor, same shape as ``q``. v (torch.Tensor): Value tensor, same shape as ``q``. - shmem: Iris shmem context (provides ``get_rank()`` / ``get_num_ranks()`` - and ``barrier()``). + shmem: Iris shmem context (provides ``get_rank()`` / ``get_num_ranks()``, + ``get_heap_bases()`` and ``barrier()``). causal (bool): If ``True``, apply a causal (lower-triangular) mask so that position ``i`` only attends to positions ``j <= i``. scale (float | None): Softmax scale factor. Defaults to @@ -193,76 +230,116 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None): BLOCK_KV = 64 HEAD_DIM = head_dim # already validated as power of 2 - # We work with a rotating KV pair; start from the local K, V - k_cur = k.contiguous() - v_cur = v.contiguous() + # Allocate two symmetric ping-pong buffers per tensor on the Iris heap. + # The destination buffer of each iris.put must be on the symmetric heap so + # that the pointer can be translated to the remote rank's address space. + k_ping = shmem.empty(k.shape, dtype=k.dtype) + k_pong = shmem.empty(k.shape, dtype=k.dtype) + v_ping = shmem.empty(v.shape, dtype=v.dtype) + v_pong = shmem.empty(v.shape, dtype=v.dtype) + + # Copy initial K/V into the ping buffers, then sync so every rank has its + # own initial chunk ready before the first rotation. + k_ping.copy_(k.contiguous()) + v_ping.copy_(v.contiguous()) + shmem.barrier() + + k_cur, k_recv = k_ping, k_pong + v_cur, v_recv = v_ping, v_pong next_rank = (rank + 1) % world_size - prev_rank = (rank - 1 + world_size) % world_size + + # Block size for the put kernel (elements per workgroup). 1024 is a good + # default that balances kernel launch overhead vs. occupancy across a wide + # range of tensor sizes and GPU architectures. + PUT_BLOCK = 1024 + n_k = k_cur.numel() + n_v = v_cur.numel() + heap_bases = shmem.get_heap_bases() for step in range(world_size): # The KV chunk we currently hold comes from rank kv_rank kv_rank = (rank - step) % world_size - # Determine masking strategy for this step + # Determine whether attention is needed and what kind of causal mask to use if causal: - if kv_rank > rank: - # All KV positions are strictly AFTER our Q positions → skip - if step < world_size - 1: - k_cur, v_cur = _rotate_kv(k_cur, v_cur, next_rank, prev_rank) - continue - elif kv_rank == rank: - # Same block → apply diagonal causal mask - apply_causal = True - else: - # KV positions are all BEFORE our Q positions → full attention - apply_causal = False + skip_compute = kv_rank > rank # KV is entirely in the future; skip step + apply_causal = kv_rank == rank # diagonal block → per-element causal mask else: + skip_compute = False apply_causal = False - q_rank_start = rank * seq_q - kv_rank_start = kv_rank * seq_kv - - grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) - _ring_attn_fwd_kernel[grid]( - q, - k_cur, - v_cur, - O, - M, - L, - q.stride(0), - q.stride(1), - q.stride(2), - k_cur.stride(0), - k_cur.stride(1), - k_cur.stride(2), - v_cur.stride(0), - v_cur.stride(1), - v_cur.stride(2), - O.stride(0), - O.stride(1), - O.stride(2), - M.stride(0), - M.stride(1), - L.stride(0), - L.stride(1), - seq_q, - seq_kv, - q_rank_start, - kv_rank_start, - scale, - CAUSAL=apply_causal, - BLOCK_Q=BLOCK_Q, - BLOCK_KV=BLOCK_KV, - HEAD_DIM=HEAD_DIM, - num_warps=4, - num_stages=2, - ) - - # Rotate K, V to the next step (not needed after the last step) + if not skip_compute: + q_rank_start = rank * seq_q + kv_rank_start = kv_rank * seq_kv + grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) + _ring_attn_fwd_kernel[grid]( + q, + k_cur, + v_cur, + O, + M, + L, + q.stride(0), + q.stride(1), + q.stride(2), + k_cur.stride(0), + k_cur.stride(1), + k_cur.stride(2), + v_cur.stride(0), + v_cur.stride(1), + v_cur.stride(2), + O.stride(0), + O.stride(1), + O.stride(2), + M.stride(0), + M.stride(1), + L.stride(0), + L.stride(1), + seq_q, + seq_kv, + q_rank_start, + kv_rank_start, + scale, + CAUSAL=apply_causal, + BLOCK_Q=BLOCK_Q, + BLOCK_KV=BLOCK_KV, + HEAD_DIM=HEAD_DIM, + num_warps=4, + num_stages=2, + ) + + # Rotate K and V to the next rank using Iris put operations. + # All ranks MUST participate in this step so the barrier is well-defined. + # The ping-pong buffers guarantee that the source being read and the + # destination being written are always different allocations. if step < world_size - 1: - k_cur, v_cur = _rotate_kv(k_cur, v_cur, next_rank, prev_rank) + _put_tensor_kernel[(triton.cdiv(n_k, PUT_BLOCK),)]( + k_cur.view(-1), + k_recv.view(-1), + n_k, + cur_rank=rank, + next_rank=next_rank, + heap_bases=heap_bases, + BLOCK=PUT_BLOCK, + ) + _put_tensor_kernel[(triton.cdiv(n_v, PUT_BLOCK),)]( + v_cur.view(-1), + v_recv.view(-1), + n_v, + cur_rank=rank, + next_rank=next_rank, + heap_bases=heap_bases, + BLOCK=PUT_BLOCK, + ) + # Wait until all ranks have completed their puts before any rank + # proceeds to the next step (where k_recv becomes k_cur). + shmem.barrier() + + # Swap: the buffer we just received into becomes the source for the + # next step; the old source becomes the receive buffer. + k_cur, k_recv = k_recv, k_cur + v_cur, v_recv = v_recv, v_cur # Normalize: output = O / L, where L is the softmax denominator # L: [num_heads, seq_q] → [seq_q, num_heads, 1] for broadcasting @@ -270,27 +347,3 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None): output = O / L_expanded return output.to(input_dtype) - - -def _rotate_kv(k, v, next_rank, prev_rank): - """ - Perform one step of ring KV rotation using point-to-point communication. - - Sends the current ``k`` and ``v`` tensors to ``next_rank`` and receives - new ``k`` and ``v`` from ``prev_rank``. - - The send and receive are posted concurrently to avoid deadlocks. - """ - k_recv = torch.empty_like(k) - v_recv = torch.empty_like(v) - - reqs = [] - reqs.append(dist.isend(k.contiguous(), dst=next_rank)) - reqs.append(dist.irecv(k_recv, src=prev_rank)) - reqs.append(dist.isend(v.contiguous(), dst=next_rank)) - reqs.append(dist.irecv(v_recv, src=prev_rank)) - - for r in reqs: - r.wait() - - return k_recv, v_recv From 2eefc413083c03887cc9d67ed7022f6c5e4c0058 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 21:24:33 +0000 Subject: [PATCH 04/24] Fuse K+V put into single kernel; validate on AMD GPUs (16/16 tests pass) Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com> --- .../ring_attention_kernels.py | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 5520cad3..9f3d14f1 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -17,9 +17,11 @@ @triton.jit -def _put_tensor_kernel( - src, - dst, +def _put_kv_kernel( + k_src, + k_dst, + v_src, + v_dst, n_elem, cur_rank: tl.constexpr, next_rank: tl.constexpr, @@ -27,16 +29,22 @@ def _put_tensor_kernel( BLOCK: tl.constexpr, ): """ - Copy a flat tensor from the current rank to the next rank using ``iris.put``. + Fused K+V put: copy K and V to the next rank in a single kernel launch. - Every rank runs this kernel simultaneously. ``dst`` must reside on the Iris - symmetric heap so that the address can be translated to ``next_rank``'s - address space. + Both K and V tensors must be flat (same number of elements) and reside on + the Iris symmetric heap so that their addresses can be translated to + ``next_rank``'s address space. + + Each program instance copies ``BLOCK`` elements of K **and** ``BLOCK`` + elements of V, halving kernel-launch overhead compared to two separate + ``_put_tensor_kernel`` calls. Args: - src: Source pointer (local CUDA memory, does not need to be symmetric). - dst: Destination pointer (must be on the symmetric heap). - n_elem: Total number of elements to copy. + k_src: Source K pointer (must be on the symmetric heap). + k_dst: Destination K pointer (must be on the symmetric heap). + v_src: Source V pointer (must be on the symmetric heap). + v_dst: Destination V pointer (must be on the symmetric heap). + n_elem: Total number of elements in K (same as V). cur_rank: This rank's ID. next_rank: Destination rank ID. heap_bases: Iris heap base address table. @@ -45,7 +53,8 @@ def _put_tensor_kernel( pid = tl.program_id(0) offs = pid * BLOCK + tl.arange(0, BLOCK) mask = offs < n_elem - iris.put(src + offs, dst + offs, cur_rank, next_rank, heap_bases, mask=mask) + iris.put(k_src + offs, k_dst + offs, cur_rank, next_rank, heap_bases, mask=mask) + iris.put(v_src + offs, v_dst + offs, cur_rank, next_rank, heap_bases, mask=mask) @triton.jit @@ -254,7 +263,6 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None): # range of tensor sizes and GPU architectures. PUT_BLOCK = 1024 n_k = k_cur.numel() - n_v = v_cur.numel() heap_bases = shmem.get_heap_bases() for step in range(world_size): @@ -309,24 +317,19 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None): num_stages=2, ) - # Rotate K and V to the next rank using Iris put operations. - # All ranks MUST participate in this step so the barrier is well-defined. - # The ping-pong buffers guarantee that the source being read and the - # destination being written are always different allocations. + # Rotate K and V to the next rank using a single fused Iris put kernel. + # Fusing K and V into one kernel launch halves launch overhead and lets + # the GPU overlap their transfers. All ranks MUST participate in this + # step so the barrier is well-defined. The ping-pong buffers guarantee + # that the source being read and the destination being written are always + # different allocations. if step < world_size - 1: - _put_tensor_kernel[(triton.cdiv(n_k, PUT_BLOCK),)]( + _put_kv_kernel[(triton.cdiv(n_k, PUT_BLOCK),)]( k_cur.view(-1), k_recv.view(-1), - n_k, - cur_rank=rank, - next_rank=next_rank, - heap_bases=heap_bases, - BLOCK=PUT_BLOCK, - ) - _put_tensor_kernel[(triton.cdiv(n_v, PUT_BLOCK),)]( v_cur.view(-1), v_recv.view(-1), - n_v, + n_k, cur_rank=rank, next_rank=next_rank, heap_bases=heap_bases, From 17c9856e6d562a51944d3bff59b562b69455597e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 23:56:20 +0000 Subject: [PATCH 05/24] Add benchmark script with roofline analysis and measured results on MI300X Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com> --- examples/32_ring_attention/benchmark.py | 497 ++++++++++++++++++ .../32_ring_attention/benchmark_results.png | Bin 0 -> 234116 bytes .../ring_attention_kernels.py | 21 +- .../32_ring_attention/ring_attention_layer.py | 16 +- 4 files changed, 527 insertions(+), 7 deletions(-) create mode 100644 examples/32_ring_attention/benchmark.py create mode 100644 examples/32_ring_attention/benchmark_results.png diff --git a/examples/32_ring_attention/benchmark.py b/examples/32_ring_attention/benchmark.py new file mode 100644 index 00000000..2230971b --- /dev/null +++ b/examples/32_ring_attention/benchmark.py @@ -0,0 +1,497 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. + +""" +Ring Attention benchmark: performance sweep and roofline analysis. + +Measures ring attention throughput across a range of sequence lengths, compares +against a single-device PyTorch ``scaled_dot_product_attention`` reference, and +generates a roofline plot with a performance table. + +Usage:: + + # 2-GPU sweep (default) + python examples/32_ring_attention/benchmark.py + + # 4-GPU sweep + python examples/32_ring_attention/benchmark.py --num_ranks 4 + + # Save plots to a file instead of showing interactively + python examples/32_ring_attention/benchmark.py --save_fig bench.png + +Hardware targets (auto-detected from ``rocminfo`` / ``hipGetDeviceProperties``): + + * AMD Instinct MI300X (gfx942): FP16 peak ≈ 1307 TFLOPS, BW ≈ 5300 GB/s + * Falls back to conservative estimates when hardware info is unavailable. +""" + +import argparse +import json +import os +import sys +import tempfile +from pathlib import Path +from typing import Any + +import torch +import torch.distributed as dist +import torch.multiprocessing as mp + +import iris + +project_root = Path(__file__).resolve().parent.parent.parent +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from ring_attention_layer import RingAttention # noqa: E402 + + +# --------------------------------------------------------------------------- +# Hardware peak specs (MI300X / gfx942 defaults) +# --------------------------------------------------------------------------- + +# FP16 matrix peak (TFLOPS) and memory bandwidth (GB/s) for MI300X. +# Source: https://www.amd.com/en/products/accelerators/instinct/mi300/mi300x.html +_MI300X_FP16_TFLOPS = 1307.4 +_MI300X_MEMBW_GBS = 5300.0 + +# Fallback conservative estimates for unknown hardware +_FALLBACK_FP16_TFLOPS = 100.0 +_FALLBACK_MEMBW_GBS = 500.0 + + +def _get_hw_specs(device: torch.device) -> tuple[float, float]: + """ + Return (peak_fp16_tflops, peak_membw_gbs) for the given device. + + Detects MI300X by GFX version; falls back to conservative defaults + for unknown hardware. + """ + try: + props = torch.cuda.get_device_properties(device) + name = props.name.lower() + # gfx942 = MI300X / MI300A family + if "gfx942" in name or "mi300" in name or (props.multi_processor_count == 304): + return _MI300X_FP16_TFLOPS, _MI300X_MEMBW_GBS + except Exception: + pass + return _FALLBACK_FP16_TFLOPS, _FALLBACK_MEMBW_GBS + + +# --------------------------------------------------------------------------- +# FLOPs / bytes helpers +# --------------------------------------------------------------------------- + + +def _attn_flops(seq_q: int, seq_kv: int, num_heads: int, head_dim: int, causal: bool) -> int: + """ + Theoretical FLOPs for one attention forward pass (QK^T + softmax + AV). + + Flash-attention FLOPs (no materialised S×S matrix): + QK^T : 2 * seq_q * seq_kv * head_dim per head + AV : 2 * seq_q * seq_kv * head_dim per head + Total : 4 * seq_q * seq_kv * head_dim * num_heads + + For causal attention roughly half the token-pairs are skipped, so we + apply a 0.5 factor (exact only for the diagonal block; used as an + approximation for the whole pass). + """ + flops = 4 * seq_q * seq_kv * head_dim * num_heads + if causal: + flops = flops // 2 + return flops + + +def _attn_bytes(seq_q: int, seq_kv: int, num_heads: int, head_dim: int, elem_bytes: int = 2) -> int: + """ + Bytes accessed by a tiled flash-attention kernel (no S×S HBM spill): + Reads : Q [seq_q × H × D] + K [seq_kv × H × D] + V [seq_kv × H × D] + Writes: O [seq_q × H × D] + """ + return elem_bytes * num_heads * head_dim * (2 * seq_q + 2 * seq_kv) + + +# --------------------------------------------------------------------------- +# Timing utilities +# --------------------------------------------------------------------------- + + +def _time_ms(fn, warmup: int = 3, iters: int = 10) -> float: + """Return median latency in ms over *iters* timed calls after *warmup*.""" + for _ in range(warmup): + fn() + torch.cuda.synchronize() + + times = [] + for _ in range(iters): + start = torch.cuda.Event(enable_timing=True) + end = torch.cuda.Event(enable_timing=True) + start.record() + fn() + end.record() + torch.cuda.synchronize() + times.append(start.elapsed_time(end)) + + times.sort() + return times[len(times) // 2] # median + + +# --------------------------------------------------------------------------- +# Benchmark worker (runs inside each spawned process) +# --------------------------------------------------------------------------- + + +def _benchmark_worker( + rank: int, + world_size: int, + init_url: str, + configs: list[dict[str, Any]], + results_file: str, + causal: bool, + num_warmup: int, + num_iters: int, +): + """ + Worker function executed by each GPU rank. + + Rank 0 also runs the single-device SDPA reference and writes results to + *results_file* as JSON. + """ + backend = "nccl" if torch.cuda.is_available() else "gloo" + dist.init_process_group( + backend=backend, + init_method=init_url, + world_size=world_size, + rank=rank, + device_id=torch.device(f"cuda:{rank}"), + ) + torch.cuda.set_device(rank) + torch.set_default_device(f"cuda:{rank}") + + shmem = iris.iris() + device = torch.device(f"cuda:{rank}") + peak_tflops, peak_bw = _get_hw_specs(device) + + results = [] + + for cfg in configs: + total_seq = cfg["total_seq"] + num_heads = cfg["num_heads"] + head_dim = cfg["head_dim"] + dtype = getattr(torch, cfg["dtype"]) + elem_bytes = 2 # fp16 / bf16 + + seq_local = total_seq // world_size + scale = head_dim**-0.5 + + torch.manual_seed(42 + rank) + q = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + k = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + v = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + + layer = RingAttention(shmem, num_heads=num_heads, head_dim=head_dim, causal=causal, scale=scale) + + shmem.barrier() + + # ---- Ring attention timing ---- + ring_ms = _time_ms(lambda: layer(q, k, v), warmup=num_warmup, iters=num_iters) + + # All ranks need to sync before SDPA + shmem.barrier() + + # ---- Reference SDPA on rank 0 (full sequence, single GPU) ---- + ref_ms = None + if rank == 0: + q_full = torch.randn(total_seq, num_heads, head_dim, dtype=dtype) + k_full = torch.randn_like(q_full) + v_full = torch.randn_like(q_full) + + # [S, H, D] → [H, S, D] for SDPA + q_f = q_full.permute(1, 0, 2) + k_f = k_full.permute(1, 0, 2) + v_f = v_full.permute(1, 0, 2) + + ref_ms = _time_ms( + lambda: torch.nn.functional.scaled_dot_product_attention(q_f, k_f, v_f, scale=scale, is_causal=causal), + warmup=num_warmup, + iters=num_iters, + ) + + # ---- FLOPs (per rank) ---- + # Ring attention: seq_q × total_seq attention per rank + ring_flops = _attn_flops(seq_local, total_seq, num_heads, head_dim, causal) + # Reference: total_seq × total_seq on a single device + ref_flops = _attn_flops(total_seq, total_seq, num_heads, head_dim, causal) + + # ---- Arithmetic intensity (flash-attn, per rank) ---- + ring_bytes = 0 + for _step in range(world_size): + ring_bytes += _attn_bytes(seq_local, seq_local, num_heads, head_dim, elem_bytes) + ring_ai = ring_flops / ring_bytes # FLOPs/byte + + ref_bytes = _attn_bytes(total_seq, total_seq, num_heads, head_dim, elem_bytes) + ref_ai = ref_flops / ref_bytes + + ring_tflops = ring_flops / (ring_ms * 1e-3) / 1e12 + ref_tflops = ref_flops / (ref_ms * 1e-3) / 1e12 + + results.append( + { + "total_seq": total_seq, + "num_heads": num_heads, + "head_dim": head_dim, + "world_size": world_size, + "causal": causal, + "dtype": cfg["dtype"], + # timings + "ring_ms": ring_ms, + "ref_ms": ref_ms, + "speedup": ref_ms / ring_ms, + # TFLOPS + "ring_tflops": ring_tflops, + "ref_tflops": ref_tflops, + # Arithmetic intensity + "ring_ai": ring_ai, + "ref_ai": ref_ai, + # Hardware peaks + "peak_tflops": peak_tflops, + "peak_bw_gbs": peak_bw, + } + ) + + shmem.barrier() + + del shmem + dist.destroy_process_group() + + # Write results from rank 0 to the shared temp file + if rank == 0: + with open(results_file, "w") as f: + json.dump(results, f, indent=2) + + +# --------------------------------------------------------------------------- +# Plotting +# --------------------------------------------------------------------------- + + +def _print_table(results: list[dict[str, Any]]): + """Print a performance summary table to stdout.""" + if not results: + print("No results.") + return + peak_tflops = results[0]["peak_tflops"] + hdr = ( + f"{'seq':>8} {'H':>4} {'D':>4} " + f"{'ring ms':>9} {'ref ms':>9} {'speedup':>8} " + f"{'ring TFLOPS':>12} {'ref TFLOPS':>12} " + f"{'ring eff%':>10} {'ref eff%':>10}" + ) + print() + print("=" * len(hdr)) + print(hdr) + print("=" * len(hdr)) + for r in results: + ring_eff = 100.0 * r["ring_tflops"] / peak_tflops + ref_eff = 100.0 * r["ref_tflops"] / peak_tflops + print( + f"{r['total_seq']:>8} {r['num_heads']:>4} {r['head_dim']:>4} " + f"{r['ring_ms']:>9.3f} {r['ref_ms']:>9.3f} {r['speedup']:>8.2f}x " + f"{r['ring_tflops']:>12.2f} {r['ref_tflops']:>12.2f} " + f"{ring_eff:>9.1f}% {ref_eff:>9.1f}%" + ) + print("=" * len(hdr)) + + +def _make_plots(results: list[dict[str, Any]], save_fig: str | None): + """Generate performance table + roofline plot.""" + import matplotlib + import matplotlib.pyplot as plt + + if save_fig: + matplotlib.use("Agg") + + if not results: + print("No results to plot.") + return + + _print_table(results) + + peak_tflops = results[0]["peak_tflops"] + peak_bw = results[0]["peak_bw_gbs"] + world_size = results[0]["world_size"] + + # ---- Roofline plot ---- + fig, axes = plt.subplots(1, 2, figsize=(16, 6)) + + # Left: Roofline + ax = axes[0] + ai_vals = [r["ring_ai"] for r in results] + [r["ref_ai"] for r in results] + ai_min = min(ai_vals) * 0.5 + ai_max = max(ai_vals) * 2.0 + ai_range = [ai_min, ai_max] + + # Roofline ceiling + ridge = peak_tflops / peak_bw * 1e3 # ridge point (FLOPs/byte), BW in GB/s → TB/s + ai_plot = [ai_min, ridge, ai_max] + roof = [min(peak_tflops, a * peak_bw / 1e3) for a in ai_plot] + ax.loglog(ai_plot, roof, "k--", linewidth=2, label="Roofline (MI300X)") + ax.axhline(peak_tflops, color="gray", linestyle=":", alpha=0.6, label=f"Peak FP16 ({peak_tflops:.0f} TFLOPS)") + ax.axvline(ridge, color="gray", linestyle=":", alpha=0.6, label=f"Ridge ({ridge:.1f} FLOP/B)") + + # Ring attention points + for r in results: + label = f"Ring (seq={r['total_seq']})" + ax.scatter(r["ring_ai"], r["ring_tflops"], marker="o", s=80, zorder=5) + ax.annotate( + f"S={r['total_seq']}", + (r["ring_ai"], r["ring_tflops"]), + textcoords="offset points", + xytext=(4, 4), + fontsize=7, + ) + + # Reference points + for r in results: + ax.scatter(r["ref_ai"], r["ref_tflops"], marker="^", s=80, zorder=5, color="tab:orange") + + import matplotlib.lines as mlines + + ring_handle = mlines.Line2D( + [], [], color="tab:blue", marker="o", linestyle="None", markersize=8, label="Ring attn (per rank)" + ) + ref_handle = mlines.Line2D( + [], [], color="tab:orange", marker="^", linestyle="None", markersize=8, label="SDPA reference (single GPU)" + ) + ax.legend(handles=[ring_handle, ref_handle] + ax.get_legend_handles_labels()[0][:3], fontsize=8) + + ax.set_xlabel("Arithmetic Intensity (FLOP/Byte)") + ax.set_ylabel("Performance (TFLOPS)") + ax.set_title(f"Roofline — AMD MI300X (gfx942)\n{world_size} GPUs, causal={results[0]['causal']}") + ax.set_xlim(ai_range) + ax.grid(True, which="both", alpha=0.3) + + # Right: Latency comparison bar chart + ax2 = axes[1] + seqs = [r["total_seq"] for r in results] + ring_ms = [r["ring_ms"] for r in results] + ref_ms = [r["ref_ms"] for r in results] + + x = range(len(seqs)) + width = 0.35 + bars1 = ax2.bar( + [i - width / 2 for i in x], ring_ms, width, label=f"Ring attn ({world_size} GPUs)", color="tab:blue", alpha=0.8 + ) + bars2 = ax2.bar([i + width / 2 for i in x], ref_ms, width, label="SDPA ref (1 GPU)", color="tab:orange", alpha=0.8) + + # Add speedup annotations + for i, r in enumerate(results): + ax2.text(i, max(ring_ms[i], ref_ms[i]) * 1.05, f"{r['speedup']:.1f}x", ha="center", fontsize=8, color="green") + + ax2.set_xticks(list(x)) + ax2.set_xticklabels([f"S={s}" for s in seqs], rotation=30) + ax2.set_ylabel("Latency (ms)") + ax2.set_title( + f"Latency: Ring Attention vs SDPA Reference\nH={results[0]['num_heads']}, D={results[0]['head_dim']}, causal={results[0]['causal']}" + ) + ax2.legend() + ax2.grid(axis="y", alpha=0.3) + + plt.tight_layout() + + if save_fig: + plt.savefig(save_fig, dpi=150, bbox_inches="tight") + print(f"\nSaved figure to: {save_fig}") + else: + plt.show() + + +# --------------------------------------------------------------------------- +# CLI +# --------------------------------------------------------------------------- + + +def parse_args(): + p = argparse.ArgumentParser(description="Ring Attention benchmark + roofline") + p.add_argument("--num_ranks", type=int, default=2, help="Number of GPUs") + p.add_argument("--num_heads", type=int, default=16, help="Number of attention heads") + p.add_argument("--head_dim", type=int, default=64, help="Head dimension") + p.add_argument( + "--total_seq_lens", + nargs="+", + type=int, + default=[512, 1024, 2048, 4096, 8192], + help="Total sequence lengths to sweep", + ) + p.add_argument("--causal", action="store_true", default=True, help="Causal attention (default: True)") + p.add_argument("--no_causal", dest="causal", action="store_false", help="Non-causal (bidirectional) attention") + p.add_argument("--dtype", choices=["float16", "bfloat16"], default="float16") + p.add_argument("--warmup", type=int, default=5, help="Warm-up iterations") + p.add_argument("--iters", type=int, default=20, help="Timed iterations") + p.add_argument("--save_fig", type=str, default=None, help="Save figure to this path (e.g. bench.png)") + p.add_argument("--no_plot", action="store_true", help="Skip plotting") + return p.parse_args() + + +def main(): + args = parse_args() + world_size = args.num_ranks + + # Filter configs to ensure seq_len divisible by 64*world_size + min_seq = 64 * world_size + configs = [] + for seq in args.total_seq_lens: + if seq % min_seq != 0: + print(f"[skip] total_seq={seq} not divisible by {min_seq} (64 * world_size), skipping") + continue + if seq % world_size != 0: + print(f"[skip] total_seq={seq} not divisible by world_size={world_size}, skipping") + continue + configs.append( + { + "total_seq": seq, + "num_heads": args.num_heads, + "head_dim": args.head_dim, + "dtype": args.dtype, # string, converted in worker + } + ) + + if not configs: + print("No valid configurations to benchmark.") + return + + print("Ring Attention Benchmark") + print(f" GPUs : {world_size}") + print(f" num_heads : {args.num_heads}") + print(f" head_dim : {args.head_dim}") + print(f" causal : {args.causal}") + print(f" dtype : {args.dtype}") + print(f" seq lengths : {[c['total_seq'] for c in configs]}") + print(f" warmup/iters: {args.warmup}/{args.iters}") + + # Use a temp file for results (safer than mp.Queue with mp.spawn) + with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as f: + results_file = f.name + + try: + init_url = "tcp://127.0.0.1:29501" + mp.spawn( + fn=_benchmark_worker, + args=(world_size, init_url, configs, results_file, args.causal, args.warmup, args.iters), + nprocs=world_size, + join=True, + ) + + with open(results_file) as f: + results = json.load(f) + finally: + os.unlink(results_file) + + if not args.no_plot: + _make_plots(results, save_fig=args.save_fig) + else: + _print_table(results) + + +if __name__ == "__main__": + main() diff --git a/examples/32_ring_attention/benchmark_results.png b/examples/32_ring_attention/benchmark_results.png new file mode 100644 index 0000000000000000000000000000000000000000..105bceeed0055a03d6ec99b07926189761d5ba66 GIT binary patch literal 234116 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 xcy9ip*A0vm5$%&4Bpheum2xV-ys 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 torch.Tensor: """ @@ -70,4 +73,15 @@ def forward(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Te assert q.shape[1] == self.num_heads, f"Expected {self.num_heads} heads, got {q.shape[1]}" assert q.shape[2] == self.head_dim, f"Expected head_dim {self.head_dim}, got {q.shape[2]}" - return ring_attn_fwd(q, k, v, self.shmem, causal=self.causal, scale=self.scale) + # Lazily allocate (or reuse) ping-pong symmetric heap buffers for this shape. + buf_key = (k.shape, k.dtype) + if buf_key not in self._buf_cache: + self._buf_cache[buf_key] = ( + self.shmem.empty(k.shape, dtype=k.dtype), + self.shmem.empty(k.shape, dtype=k.dtype), + self.shmem.empty(v.shape, dtype=v.dtype), + self.shmem.empty(v.shape, dtype=v.dtype), + ) + ping_pong = self._buf_cache[buf_key] + + return ring_attn_fwd(q, k, v, self.shmem, causal=self.causal, scale=self.scale, _ping_pong_bufs=ping_pong) From bbdac9b374377bebf61e554aa1aea83cac918c54 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 23:58:01 +0000 Subject: [PATCH 06/24] Address code review: typed buffer cache, named constants, fix --causal arg semantics Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com> --- examples/32_ring_attention/benchmark.py | 23 ++++++++++++------- .../32_ring_attention/ring_attention_layer.py | 4 +++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/examples/32_ring_attention/benchmark.py b/examples/32_ring_attention/benchmark.py index 2230971b..ed29cf1f 100644 --- a/examples/32_ring_attention/benchmark.py +++ b/examples/32_ring_attention/benchmark.py @@ -55,10 +55,17 @@ _MI300X_FP16_TFLOPS = 1307.4 _MI300X_MEMBW_GBS = 5300.0 +# MI300X has exactly 304 compute units (used as a fingerprint when the device name +# does not contain an explicit architecture string). +_MI300X_CU_COUNT = 304 + # Fallback conservative estimates for unknown hardware _FALLBACK_FP16_TFLOPS = 100.0 _FALLBACK_MEMBW_GBS = 500.0 +# Unit conversion: 1 TB/s = 1000 GB/s +_GB_TO_TB = 1e3 + def _get_hw_specs(device: torch.device) -> tuple[float, float]: """ @@ -70,8 +77,8 @@ def _get_hw_specs(device: torch.device) -> tuple[float, float]: try: props = torch.cuda.get_device_properties(device) name = props.name.lower() - # gfx942 = MI300X / MI300A family - if "gfx942" in name or "mi300" in name or (props.multi_processor_count == 304): + # gfx942 = MI300X / MI300A family; 304 CUs is the MI300X fingerprint + if "gfx942" in name or "mi300" in name or (props.multi_processor_count == _MI300X_CU_COUNT): return _MI300X_FP16_TFLOPS, _MI300X_MEMBW_GBS except Exception: pass @@ -331,17 +338,16 @@ def _make_plots(results: list[dict[str, Any]], save_fig: str | None): ai_max = max(ai_vals) * 2.0 ai_range = [ai_min, ai_max] - # Roofline ceiling - ridge = peak_tflops / peak_bw * 1e3 # ridge point (FLOPs/byte), BW in GB/s → TB/s + # Roofline ceiling: ridge point converts BW from GB/s to TB/s for TFLOPS units + ridge = peak_tflops / peak_bw * _GB_TO_TB # ridge point (FLOPs/byte) ai_plot = [ai_min, ridge, ai_max] - roof = [min(peak_tflops, a * peak_bw / 1e3) for a in ai_plot] + roof = [min(peak_tflops, a * peak_bw / _GB_TO_TB) for a in ai_plot] ax.loglog(ai_plot, roof, "k--", linewidth=2, label="Roofline (MI300X)") ax.axhline(peak_tflops, color="gray", linestyle=":", alpha=0.6, label=f"Peak FP16 ({peak_tflops:.0f} TFLOPS)") ax.axvline(ridge, color="gray", linestyle=":", alpha=0.6, label=f"Ridge ({ridge:.1f} FLOP/B)") # Ring attention points for r in results: - label = f"Ring (seq={r['total_seq']})" ax.scatter(r["ring_ai"], r["ring_tflops"], marker="o", s=80, zorder=5) ax.annotate( f"S={r['total_seq']}", @@ -423,8 +429,9 @@ def parse_args(): default=[512, 1024, 2048, 4096, 8192], help="Total sequence lengths to sweep", ) - p.add_argument("--causal", action="store_true", default=True, help="Causal attention (default: True)") - p.add_argument("--no_causal", dest="causal", action="store_false", help="Non-causal (bidirectional) attention") + p.add_argument( + "--no_causal", dest="causal", action="store_false", default=True, help="Non-causal (bidirectional) attention" + ) p.add_argument("--dtype", choices=["float16", "bfloat16"], default="float16") p.add_argument("--warmup", type=int, default=5, help="Warm-up iterations") p.add_argument("--iters", type=int, default=20, help="Timed iterations") diff --git a/examples/32_ring_attention/ring_attention_layer.py b/examples/32_ring_attention/ring_attention_layer.py index 1e833ee9..7828c2d0 100644 --- a/examples/32_ring_attention/ring_attention_layer.py +++ b/examples/32_ring_attention/ring_attention_layer.py @@ -55,7 +55,9 @@ def __init__(self, shmem, num_heads: int, head_dim: int, causal: bool = True, sc self.scale = scale if scale is not None else head_dim**-0.5 # Ping-pong buffer cache: keyed by (shape, dtype) to avoid re-allocating # the symmetric heap buffers on every forward pass. - self._buf_cache: dict = {} + self._buf_cache: dict[ + tuple[torch.Size, torch.dtype], tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor] + ] = {} def forward(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Tensor: """ From 0f01c45be7dbcdcedcb2a59e5652009113246fea Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Mar 2026 02:44:14 +0000 Subject: [PATCH 07/24] Add strong/weak scaling benchmark (1-8 GPUs) and update results figure Co-authored-by: mawad-amd <112003944+mawad-amd@users.noreply.github.com> --- .../32_ring_attention/benchmark_results.png | Bin 234116 -> 510151 bytes .../32_ring_attention/scaling_benchmark.py | 589 ++++++++++++++++++ 2 files changed, 589 insertions(+) create mode 100644 examples/32_ring_attention/scaling_benchmark.py diff --git a/examples/32_ring_attention/benchmark_results.png b/examples/32_ring_attention/benchmark_results.png index 105bceeed0055a03d6ec99b07926189761d5ba66..2e6ea46cbe4d7723278f7c8d0d7693689d41e1bf 100644 GIT binary patch literal 510151 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

G_Iyi0GEo(e&cQZVp8n3s>!NI+&VO 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

2AcCoF$*W}H=Vy_cnRamYLdxmcS0lw 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Μ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

?_85i{1I9-b! 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%0AQ)BgJMm|vqf{jo! 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�k{=^pD?iFL-&!y2u5fovN*YD{-ZRv2^! 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 xcy9ip*A0vm5$%&4Bpheum2xV-ys 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 tuple[float, float]: + try: + props = torch.cuda.get_device_properties(device) + name = props.name.lower() + if "gfx942" in name or "mi300" in name or props.multi_processor_count == _MI300X_CU_COUNT: + return _MI300X_FP16_TFLOPS, _MI300X_MEMBW_GBS + except Exception: + pass + return _FALLBACK_FP16_TFLOPS, _FALLBACK_MEMBW_GBS + + +# --------------------------------------------------------------------------- +# Timing +# --------------------------------------------------------------------------- + + +def _time_ms(fn, warmup: int = 3, iters: int = 10) -> float: + for _ in range(warmup): + fn() + torch.cuda.synchronize() + times = [] + for _ in range(iters): + start = torch.cuda.Event(enable_timing=True) + end = torch.cuda.Event(enable_timing=True) + start.record() + fn() + end.record() + torch.cuda.synchronize() + times.append(start.elapsed_time(end)) + times.sort() + return times[len(times) // 2] + + +# --------------------------------------------------------------------------- +# FLOPs helpers +# --------------------------------------------------------------------------- + + +def _attn_flops(seq_q: int, seq_kv: int, num_heads: int, head_dim: int, causal: bool) -> int: + flops = 4 * seq_q * seq_kv * head_dim * num_heads + return flops // 2 if causal else flops + + +# --------------------------------------------------------------------------- +# Worker +# --------------------------------------------------------------------------- + + +def _scaling_worker( + rank: int, + world_size: int, + init_url: str, + num_heads: int, + head_dim: int, + dtype_str: str, + causal: bool, + # Strong scaling: fixed total_seq list + strong_total_seqs: list[int], + # Weak scaling: fixed seq_local list + weak_seq_locals: list[int], + num_warmup: int, + num_iters: int, + results_file: str, +): + backend = "nccl" if torch.cuda.is_available() else "gloo" + dist.init_process_group( + backend=backend, + init_method=init_url, + world_size=world_size, + rank=rank, + device_id=torch.device(f"cuda:{rank}"), + ) + torch.cuda.set_device(rank) + torch.set_default_device(f"cuda:{rank}") + + shmem = iris.iris() + device = torch.device(f"cuda:{rank}") + peak_tflops, peak_bw = _get_hw_specs(device) + dtype = getattr(torch, dtype_str) + scale = head_dim**-0.5 + + strong_results = [] + weak_results = [] + + # ------------------------------------------------------------------ + # Helper: time ring attention for given seq_local + # ------------------------------------------------------------------ + def _run_ring(seq_local: int, _shmem) -> float: + torch.manual_seed(42 + rank) + q = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + k = torch.randn_like(q) + v = torch.randn_like(q) + layer = RingAttention(_shmem, num_heads=num_heads, head_dim=head_dim, causal=causal, scale=scale) + _shmem.barrier() + ms = _time_ms(lambda: layer(q, k, v), warmup=num_warmup, iters=num_iters) + _shmem.barrier() + return ms + + # ------------------------------------------------------------------ + # Helper: time single-GPU SDPA (rank 0 only, full sequence) + # ------------------------------------------------------------------ + def _run_sdpa(total_seq: int) -> float | None: + if rank != 0: + return None + q_f = torch.randn(num_heads, total_seq, head_dim, dtype=dtype) + k_f = torch.randn_like(q_f) + v_f = torch.randn_like(q_f) + ms = _time_ms( + lambda: torch.nn.functional.scaled_dot_product_attention(q_f, k_f, v_f, scale=scale, is_causal=causal), + warmup=num_warmup, + iters=num_iters, + ) + return ms + + # ------------------------------------------------------------------ + # STRONG SCALING: fixed total_seq, world_size GPUs + # ------------------------------------------------------------------ + for total_seq in strong_total_seqs: + if total_seq % (64 * world_size) != 0: + continue + seq_local = total_seq // world_size + ring_ms = _run_ring(seq_local, shmem) + ref_ms = _run_sdpa(total_seq) + + if rank == 0: + ring_flops = _attn_flops(seq_local, total_seq, num_heads, head_dim, causal) + ring_tflops = ring_flops / (ring_ms * 1e-3) / 1e12 + + ref_flops = _attn_flops(total_seq, total_seq, num_heads, head_dim, causal) + ref_tflops = ref_flops / (ref_ms * 1e-3) / 1e12 + + strong_results.append( + { + "total_seq": total_seq, + "world_size": world_size, + "seq_local": seq_local, + "ring_ms": ring_ms, + "ref_ms": ref_ms, + "speedup": ref_ms / ring_ms, + "ideal_speedup": float(world_size), + "scaling_efficiency": ref_ms / (ring_ms * world_size), + "ring_tflops": ring_tflops, + "ref_tflops": ref_tflops, + "peak_tflops": peak_tflops, + "peak_bw_gbs": peak_bw, + } + ) + + shmem.barrier() + + # ------------------------------------------------------------------ + # WEAK SCALING: fixed seq_local per GPU, world_size GPUs + # ------------------------------------------------------------------ + for seq_local in weak_seq_locals: + if seq_local % 64 != 0: + continue + total_seq = seq_local * world_size + ring_ms = _run_ring(seq_local, shmem) + # Reference = single-GPU SDPA on the *full* sequence (total_seq) + ref_ms = _run_sdpa(total_seq) + + if rank == 0: + ring_flops = _attn_flops(seq_local, total_seq, num_heads, head_dim, causal) + ring_tflops = ring_flops / (ring_ms * 1e-3) / 1e12 + + ref_flops = _attn_flops(total_seq, total_seq, num_heads, head_dim, causal) + ref_tflops = ref_flops / (ref_ms * 1e-3) / 1e12 + + weak_results.append( + { + "seq_local": seq_local, + "total_seq": total_seq, + "world_size": world_size, + "ring_ms": ring_ms, + "ref_ms": ref_ms, + "speedup": ref_ms / ring_ms, + "ring_tflops": ring_tflops, + "ref_tflops": ref_tflops, + "peak_tflops": peak_tflops, + "peak_bw_gbs": peak_bw, + } + ) + + shmem.barrier() + del shmem + dist.destroy_process_group() + + if rank == 0: + with open(results_file, "w") as f: + json.dump({"strong": strong_results, "weak": weak_results}, f, indent=2) + + +# --------------------------------------------------------------------------- +# Print tables +# --------------------------------------------------------------------------- + + +def _print_strong_table(strong: list[dict[str, Any]]): + print("\n=== STRONG SCALING (fixed total_seq, increasing world_size) ===") + hdr = f"{'total_seq':>10} {'GPUs':>5} {'ring ms':>9} {'ref ms':>9} {'speedup':>8} {'ideal':>6} {'eff%':>7} {'ring TF':>9} {'ref TF':>9}" + print("=" * len(hdr)) + print(hdr) + print("=" * len(hdr)) + for r in sorted(strong, key=lambda x: (x["total_seq"], x["world_size"])): + eff = 100.0 * r["scaling_efficiency"] + print( + f"{r['total_seq']:>10} {r['world_size']:>5} {r['ring_ms']:>9.3f} {r['ref_ms']:>9.3f} " + f"{r['speedup']:>8.2f}x {r['ideal_speedup']:>6.1f}x {eff:>6.1f}% " + f"{r['ring_tflops']:>9.2f} {r['ref_tflops']:>9.2f}" + ) + print("=" * len(hdr)) + + +def _print_weak_table(weak: list[dict[str, Any]]): + print("\n=== WEAK SCALING (fixed seq_local per GPU, increasing world_size) ===") + hdr = f"{'seq_local':>10} {'total_seq':>10} {'GPUs':>5} {'ring ms':>9} {'ref ms':>9} {'speedup':>8} {'ring TF':>9} {'ref TF':>9}" + print("=" * len(hdr)) + print(hdr) + print("=" * len(hdr)) + for r in sorted(weak, key=lambda x: (x["seq_local"], x["world_size"])): + print( + f"{r['seq_local']:>10} {r['total_seq']:>10} {r['world_size']:>5} " + f"{r['ring_ms']:>9.3f} {r['ref_ms']:>9.3f} {r['speedup']:>8.2f}x " + f"{r['ring_tflops']:>9.2f} {r['ref_tflops']:>9.2f}" + ) + print("=" * len(hdr)) + + +# --------------------------------------------------------------------------- +# Plot +# --------------------------------------------------------------------------- + + +def _make_scaling_plots( + strong: list[dict[str, Any]], + weak: list[dict[str, Any]], + num_heads: int, + head_dim: int, + causal: bool, + save_fig: str | None, +): + import matplotlib + import matplotlib.pyplot as plt + import numpy as np + + if save_fig: + matplotlib.use("Agg") + + _print_strong_table(strong) + _print_weak_table(weak) + + # ---- Layout: 2×2 ---- + fig, axes = plt.subplots(2, 2, figsize=(16, 12)) + fig.suptitle( + f"Ring Attention Scaling — AMD MI300X (gfx942), FP16, causal={causal}\nH={num_heads}, D={head_dim}", + fontsize=13, + fontweight="bold", + ) + + # --- 1. Strong scaling: latency vs world_size per total_seq --- + ax = axes[0, 0] + total_seqs_ss = sorted(set(r["total_seq"] for r in strong)) + colors_ss = plt.cm.tab10(np.linspace(0, 0.9, len(total_seqs_ss))) + for ts, col in zip(total_seqs_ss, colors_ss): + pts = sorted([r for r in strong if r["total_seq"] == ts], key=lambda x: x["world_size"]) + if not pts: + continue + ws_vals = [p["world_size"] for p in pts] + ring_ms = [p["ring_ms"] for p in pts] + ref_ms = pts[0]["ref_ms"] # single-GPU reference is constant + + ax.plot(ws_vals, ring_ms, "o-", color=col, linewidth=2, markersize=8, label=f"Ring S={ts}") + # Ideal scaling: ref_ms / world_size + ideal = [ref_ms / ws for ws in ws_vals] + ax.plot(ws_vals, ideal, "--", color=col, linewidth=1.2, alpha=0.5) + ax.set_xlabel("Number of GPUs") + ax.set_ylabel("Latency (ms)") + ax.set_title("Strong Scaling: Latency vs. GPU Count\n(dashed = ideal 1/N scaling)") + ax.set_xticks(sorted(set(r["world_size"] for r in strong))) + ax.legend(fontsize=8) + ax.grid(True, alpha=0.3) + + # --- 2. Strong scaling: scaling efficiency % --- + ax = axes[0, 1] + for ts, col in zip(total_seqs_ss, colors_ss): + pts = sorted([r for r in strong if r["total_seq"] == ts], key=lambda x: x["world_size"]) + if not pts: + continue + ws_vals = [p["world_size"] for p in pts] + eff = [100.0 * p["scaling_efficiency"] for p in pts] + ax.plot(ws_vals, eff, "s-", color=col, linewidth=2, markersize=8, label=f"S={ts}") + ax.axhline(100, color="gray", linestyle="--", alpha=0.6, linewidth=1.5, label="Ideal (100%)") + ax.set_xlabel("Number of GPUs") + ax.set_ylabel("Strong Scaling Efficiency (%)") + ax.set_title("Strong Scaling Efficiency\n(100% = perfect linear speedup)") + ax.set_xticks(sorted(set(r["world_size"] for r in strong))) + ax.set_ylim(0, 130) + ax.legend(fontsize=8) + ax.grid(True, alpha=0.3) + + # --- 3. Weak scaling: latency vs world_size per seq_local --- + ax = axes[1, 0] + seq_locals_ws = sorted(set(r["seq_local"] for r in weak)) + colors_ws = plt.cm.tab10(np.linspace(0, 0.9, len(seq_locals_ws))) + for sl, col in zip(seq_locals_ws, colors_ws): + pts = sorted([r for r in weak if r["seq_local"] == sl], key=lambda x: x["world_size"]) + if not pts: + continue + ws_vals = [p["world_size"] for p in pts] + ring_ms = [p["ring_ms"] for p in pts] + # Baseline = single-GPU ring at world_size=1 (first point if available, + # else we just plot relative to the first measured point) + ax.plot(ws_vals, ring_ms, "o-", color=col, linewidth=2, markersize=8, label=f"Ring S_local={sl}") + # Ideal weak scaling = flat (constant latency) + ax.axhline(ring_ms[0], color=col, linestyle="--", linewidth=1.2, alpha=0.4) + ax.set_xlabel("Number of GPUs") + ax.set_ylabel("Latency (ms)") + ax.set_title("Weak Scaling: Latency vs. GPU Count\n(dashed = ideal flat latency)") + ax.set_xticks(sorted(set(r["world_size"] for r in weak))) + ax.legend(fontsize=8) + ax.grid(True, alpha=0.3) + + # --- 4. Throughput (TFLOPS per GPU) vs world_size for both strong & weak --- + ax = axes[1, 1] + # Strong scaling TFLOPS + for ts, col in zip(total_seqs_ss, colors_ss): + pts = sorted([r for r in strong if r["total_seq"] == ts], key=lambda x: x["world_size"]) + if not pts: + continue + ws_vals = [p["world_size"] for p in pts] + tfl = [p["ring_tflops"] for p in pts] + ax.plot(ws_vals, tfl, "o-", color=col, linewidth=2, markersize=8, label=f"Strong S={ts}") + + ax.set_xlabel("Number of GPUs") + ax.set_ylabel("TFLOPS (per rank)") + ax.set_title("Per-Rank Throughput vs. GPU Count\n(strong scaling)") + ax.set_xticks(sorted(set(r["world_size"] for r in strong))) + ax.legend(fontsize=8) + ax.grid(True, alpha=0.3) + + plt.tight_layout() + + if save_fig: + plt.savefig(save_fig, dpi=150, bbox_inches="tight") + print(f"\nSaved scaling figure to: {save_fig}") + else: + plt.show() + + +# --------------------------------------------------------------------------- +# CLI +# --------------------------------------------------------------------------- + + +def parse_args(): + p = argparse.ArgumentParser(description="Ring Attention strong/weak scaling benchmark") + p.add_argument( + "--world_sizes", + nargs="+", + type=int, + default=[1, 2, 4, 8], + help="GPU counts to benchmark (default: 1 2 4 8)", + ) + p.add_argument("--num_heads", type=int, default=16) + p.add_argument("--head_dim", type=int, default=64) + p.add_argument( + "--strong_seqs", + nargs="+", + type=int, + default=[4096, 8192, 16384], + help="Fixed total sequence lengths for strong-scaling sweep", + ) + p.add_argument( + "--weak_seq_locals", + nargs="+", + type=int, + default=[1024, 2048, 4096], + help="Fixed per-GPU sequence lengths for weak-scaling sweep", + ) + p.add_argument("--no_causal", dest="causal", action="store_false", default=True) + p.add_argument("--dtype", choices=["float16", "bfloat16"], default="float16") + p.add_argument("--warmup", type=int, default=5) + p.add_argument("--iters", type=int, default=20) + p.add_argument("--save_fig", type=str, default=None) + p.add_argument("--no_plot", action="store_true") + return p.parse_args() + + +def main(): + args = parse_args() + + all_strong: list[dict] = [] + all_weak: list[dict] = [] + + # Special case: world_size=1 means single-GPU ring (= SDPA, measured directly) + if 1 in args.world_sizes: + print("Measuring world_size=1 (single GPU, ring degenerates to SDPA)...") + device = torch.device("cuda:0") + torch.cuda.set_device(0) + peak_tflops, peak_bw = ( + _MI300X_FP16_TFLOPS + if torch.cuda.get_device_properties(0).multi_processor_count == _MI300X_CU_COUNT + else _FALLBACK_FP16_TFLOPS, + _MI300X_MEMBW_GBS + if torch.cuda.get_device_properties(0).multi_processor_count == _MI300X_CU_COUNT + else _FALLBACK_MEMBW_GBS, + ) + dtype = getattr(torch, args.dtype) + scale = args.head_dim**-0.5 + + for total_seq in args.strong_seqs: + if total_seq % 64 != 0: + continue + q_f = torch.randn(args.num_heads, total_seq, args.head_dim, dtype=dtype, device=device) + k_f = torch.randn_like(q_f) + v_f = torch.randn_like(q_f) + ms = _time_ms( + lambda: torch.nn.functional.scaled_dot_product_attention( + q_f, k_f, v_f, scale=scale, is_causal=args.causal + ), + warmup=args.warmup, + iters=args.iters, + ) + ref_flops = _attn_flops(total_seq, total_seq, args.num_heads, args.head_dim, args.causal) + ref_tflops = ref_flops / (ms * 1e-3) / 1e12 + all_strong.append( + { + "total_seq": total_seq, + "world_size": 1, + "seq_local": total_seq, + "ring_ms": ms, + "ref_ms": ms, + "speedup": 1.0, + "ideal_speedup": 1.0, + "scaling_efficiency": 1.0, + "ring_tflops": ref_tflops, + "ref_tflops": ref_tflops, + "peak_tflops": peak_tflops, + "peak_bw_gbs": peak_bw, + } + ) + + for seq_local in args.weak_seq_locals: + if seq_local % 64 != 0: + continue + q_f = torch.randn(args.num_heads, seq_local, args.head_dim, dtype=dtype, device=device) + k_f = torch.randn_like(q_f) + v_f = torch.randn_like(q_f) + ms = _time_ms( + lambda: torch.nn.functional.scaled_dot_product_attention( + q_f, k_f, v_f, scale=scale, is_causal=args.causal + ), + warmup=args.warmup, + iters=args.iters, + ) + ref_flops = _attn_flops(seq_local, seq_local, args.num_heads, args.head_dim, args.causal) + ref_tflops = ref_flops / (ms * 1e-3) / 1e12 + all_weak.append( + { + "seq_local": seq_local, + "total_seq": seq_local, + "world_size": 1, + "ring_ms": ms, + "ref_ms": ms, + "speedup": 1.0, + "ring_tflops": ref_tflops, + "ref_tflops": ref_tflops, + "peak_tflops": peak_tflops, + "peak_bw_gbs": peak_bw, + } + ) + + torch.cuda.empty_cache() + + for world_size in sorted(args.world_sizes): + if world_size == 1: + continue + if world_size > torch.cuda.device_count(): + print(f"[skip] world_size={world_size} > available GPUs ({torch.cuda.device_count()})") + continue + + print(f"\nRunning world_size={world_size}...") + + with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as f: + results_file = f.name + + port = 29500 + world_size # unique port per world_size to avoid conflicts + init_url = f"tcp://127.0.0.1:{port}" + + try: + mp.spawn( + fn=_scaling_worker, + args=( + world_size, + init_url, + args.num_heads, + args.head_dim, + args.dtype, + args.causal, + args.strong_seqs, + args.weak_seq_locals, + args.warmup, + args.iters, + results_file, + ), + nprocs=world_size, + join=True, + ) + with open(results_file) as f: + data = json.load(f) + all_strong.extend(data["strong"]) + all_weak.extend(data["weak"]) + finally: + os.unlink(results_file) + + if not args.no_plot: + _make_scaling_plots(all_strong, all_weak, args.num_heads, args.head_dim, args.causal, save_fig=args.save_fig) + else: + _print_strong_table(all_strong) + _print_weak_table(all_weak) + + +if __name__ == "__main__": + main() From 5357874095f6de1ea24ef923b49b79d961c512e6 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Sun, 22 Mar 2026 21:16:45 -0700 Subject: [PATCH 08/24] Optimize ring attention: comm-compute overlap + bug fixes - Overlap KV rotation with attention via a dedicated CUDA stream. The put kernel (comm) and attention kernel (compute) both only read k_cur/v_cur, so they run concurrently without data races. - Fix benchmark OOM: catch torch.OutOfMemoryError when single-GPU SDPA reference exceeds GPU memory at large sequence lengths. - Fix hardcoded port in example_run.py and benchmark.py: use dynamic free port selection to avoid conflicts. Co-Authored-By: Claude Opus 4.6 --- examples/32_ring_attention/benchmark.py | 42 ++++++++----- examples/32_ring_attention/example_run.py | 10 +++- .../ring_attention_kernels.py | 60 ++++++++++--------- .../32_ring_attention/scaling_benchmark.py | 25 +++++--- 4 files changed, 83 insertions(+), 54 deletions(-) diff --git a/examples/32_ring_attention/benchmark.py b/examples/32_ring_attention/benchmark.py index ed29cf1f..5e473f8c 100644 --- a/examples/32_ring_attention/benchmark.py +++ b/examples/32_ring_attention/benchmark.py @@ -209,20 +209,27 @@ def _benchmark_worker( # ---- Reference SDPA on rank 0 (full sequence, single GPU) ---- ref_ms = None if rank == 0: - q_full = torch.randn(total_seq, num_heads, head_dim, dtype=dtype) - k_full = torch.randn_like(q_full) - v_full = torch.randn_like(q_full) - - # [S, H, D] → [H, S, D] for SDPA - q_f = q_full.permute(1, 0, 2) - k_f = k_full.permute(1, 0, 2) - v_f = v_full.permute(1, 0, 2) - - ref_ms = _time_ms( - lambda: torch.nn.functional.scaled_dot_product_attention(q_f, k_f, v_f, scale=scale, is_causal=causal), - warmup=num_warmup, - iters=num_iters, - ) + try: + q_full = torch.randn(total_seq, num_heads, head_dim, dtype=dtype) + k_full = torch.randn_like(q_full) + v_full = torch.randn_like(q_full) + + # [S, H, D] → [H, S, D] for SDPA + q_f = q_full.permute(1, 0, 2) + k_f = k_full.permute(1, 0, 2) + v_f = v_full.permute(1, 0, 2) + + ref_ms = _time_ms( + lambda: torch.nn.functional.scaled_dot_product_attention( + q_f, k_f, v_f, scale=scale, is_causal=causal + ), + warmup=num_warmup, + iters=num_iters, + ) + except torch.OutOfMemoryError: + print(f"[WARN] SDPA reference OOM at total_seq={total_seq}, skipping") + ref_ms = float("nan") + torch.cuda.empty_cache() # ---- FLOPs (per rank) ---- # Ring attention: seq_q × total_seq attention per rank @@ -481,7 +488,12 @@ def main(): results_file = f.name try: - init_url = "tcp://127.0.0.1:29501" + import socket + + _sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + _sock.bind(("", 0)) + init_url = f"tcp://127.0.0.1:{_sock.getsockname()[1]}" + _sock.close() mp.spawn( fn=_benchmark_worker, args=(world_size, init_url, configs, results_file, args.causal, args.warmup, args.iters), diff --git a/examples/32_ring_attention/example_run.py b/examples/32_ring_attention/example_run.py index a17bf88b..c33edfa6 100644 --- a/examples/32_ring_attention/example_run.py +++ b/examples/32_ring_attention/example_run.py @@ -114,9 +114,17 @@ def run(rank: int, world_size: int, init_url: str, args): dist.destroy_process_group() +def _find_free_port() -> int: + import socket + + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.bind(("", 0)) + return s.getsockname()[1] + + def main(): args = parse_args() - init_url = "tcp://127.0.0.1:29500" + init_url = f"tcp://127.0.0.1:{_find_free_port()}" mp.spawn( fn=run, args=(args.num_ranks, init_url, args), diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 2a97c18b..7170fd2e 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -267,25 +267,47 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) next_rank = (rank + 1) % world_size - # Block size for the put kernel (elements per workgroup). 1024 is a good - # default that balances kernel launch overhead vs. occupancy across a wide - # range of tensor sizes and GPU architectures. PUT_BLOCK = 1024 n_k = k_cur.numel() heap_bases = shmem.get_heap_bases() + # Dedicated CUDA stream for KV rotation so the ``iris.put`` transfer + # runs concurrently with the attention kernel on the default stream. + comm_stream = torch.cuda.Stream(device=q.device) + for step in range(world_size): - # The KV chunk we currently hold comes from rank kv_rank kv_rank = (rank - step) % world_size - # Determine whether attention is needed and what kind of causal mask to use if causal: - skip_compute = kv_rank > rank # KV is entirely in the future; skip step - apply_causal = kv_rank == rank # diagonal block → per-element causal mask + skip_compute = kv_rank > rank + apply_causal = kv_rank == rank else: skip_compute = False apply_causal = False + # --- Overlap: launch KV rotation and attention concurrently --- + # + # Both the put kernel and the attention kernel only READ k_cur / v_cur + # (the put writes to the *remote* rank's k_recv buffer), so there is + # no data-race and they can safely execute on separate streams. + + # 1. Start async KV rotation on comm_stream. + if step < world_size - 1: + comm_stream.wait_stream(torch.cuda.current_stream()) + with torch.cuda.stream(comm_stream): + _put_kv_kernel[(triton.cdiv(n_k, PUT_BLOCK),)]( + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), + n_k, + cur_rank=rank, + next_rank=next_rank, + heap_bases=heap_bases, + BLOCK=PUT_BLOCK, + ) + + # 2. Compute attention on the default stream (overlaps with put). if not skip_compute: q_rank_start = rank * seq_q kv_rank_start = kv_rank * seq_kv @@ -326,30 +348,10 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) num_stages=2, ) - # Rotate K and V to the next rank using a single fused Iris put kernel. - # Fusing K and V into one kernel launch halves launch overhead and lets - # the GPU overlap their transfers. All ranks MUST participate in this - # step so the barrier is well-defined. The ping-pong buffers guarantee - # that the source being read and the destination being written are always - # different allocations. + # 3. Drain both streams, then global barrier, then swap buffers. if step < world_size - 1: - _put_kv_kernel[(triton.cdiv(n_k, PUT_BLOCK),)]( - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - cur_rank=rank, - next_rank=next_rank, - heap_bases=heap_bases, - BLOCK=PUT_BLOCK, - ) - # Wait until all ranks have completed their puts before any rank - # proceeds to the next step (where k_recv becomes k_cur). + torch.cuda.synchronize() shmem.barrier() - - # Swap: the buffer we just received into becomes the source for the - # next step; the old source becomes the receive buffer. k_cur, k_recv = k_recv, k_cur v_cur, v_recv = v_recv, v_cur diff --git a/examples/32_ring_attention/scaling_benchmark.py b/examples/32_ring_attention/scaling_benchmark.py index 1a83e0d8..2e808c80 100644 --- a/examples/32_ring_attention/scaling_benchmark.py +++ b/examples/32_ring_attention/scaling_benchmark.py @@ -167,15 +167,22 @@ def _run_ring(seq_local: int, _shmem) -> float: def _run_sdpa(total_seq: int) -> float | None: if rank != 0: return None - q_f = torch.randn(num_heads, total_seq, head_dim, dtype=dtype) - k_f = torch.randn_like(q_f) - v_f = torch.randn_like(q_f) - ms = _time_ms( - lambda: torch.nn.functional.scaled_dot_product_attention(q_f, k_f, v_f, scale=scale, is_causal=causal), - warmup=num_warmup, - iters=num_iters, - ) - return ms + try: + q_f = torch.randn(num_heads, total_seq, head_dim, dtype=dtype) + k_f = torch.randn_like(q_f) + v_f = torch.randn_like(q_f) + ms = _time_ms( + lambda: torch.nn.functional.scaled_dot_product_attention( + q_f, k_f, v_f, scale=scale, is_causal=causal + ), + warmup=num_warmup, + iters=num_iters, + ) + return ms + except torch.OutOfMemoryError: + print(f"[WARN] SDPA reference OOM at total_seq={total_seq}, skipping") + torch.cuda.empty_cache() + return float("nan") # ------------------------------------------------------------------ # STRONG SCALING: fixed total_seq, world_size GPUs From 7b76443f39346eb1a220e0b97465a951ce008d47 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 04:17:23 +0000 Subject: [PATCH 09/24] Apply Ruff auto-fixes --- examples/32_ring_attention/scaling_benchmark.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/32_ring_attention/scaling_benchmark.py b/examples/32_ring_attention/scaling_benchmark.py index 2e808c80..530be1f4 100644 --- a/examples/32_ring_attention/scaling_benchmark.py +++ b/examples/32_ring_attention/scaling_benchmark.py @@ -172,9 +172,7 @@ def _run_sdpa(total_seq: int) -> float | None: k_f = torch.randn_like(q_f) v_f = torch.randn_like(q_f) ms = _time_ms( - lambda: torch.nn.functional.scaled_dot_product_attention( - q_f, k_f, v_f, scale=scale, is_causal=causal - ), + lambda: torch.nn.functional.scaled_dot_product_attention(q_f, k_f, v_f, scale=scale, is_causal=causal), warmup=num_warmup, iters=num_iters, ) From a11864430b6bfaf56695f113094a67326bacb851 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Sun, 22 Mar 2026 21:27:32 -0700 Subject: [PATCH 10/24] ring_attention: fuse KV rotation into attention kernel Instead of launching a separate _put_kv_kernel on a comm stream (which showed no benefit due to barrier serialization), fuse the iris.put KV rotation directly into the attention kernel epilogue. Each attention thread block transfers PUT_BLOCK = BLOCK_Q * HEAD_DIM elements of K and V after computing its attention tile, achieving SM-level overlap. Total coverage: num_heads * cdiv(seq_q, BLOCK_Q) * PUT_BLOCK = n_k exactly covers all elements. Falls back to standalone _put_kv_kernel for causal steps where attention is skipped (kv_rank > rank). Co-Authored-By: Claude Opus 4.6 --- .../ring_attention_kernels.py | 88 ++++++++++++------- 1 file changed, 58 insertions(+), 30 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 7170fd2e..eeb58447 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -90,11 +90,22 @@ def _ring_attn_fwd_kernel( q_rank_start, kv_rank_start, scale, + # fused KV put parameters + k_put_src, + k_put_dst, + v_put_src, + v_put_dst, + n_put_elem, + put_rank: tl.constexpr, + put_next_rank: tl.constexpr, + heap_bases, # compile-time constants CAUSAL: tl.constexpr, BLOCK_Q: tl.constexpr, BLOCK_KV: tl.constexpr, HEAD_DIM: tl.constexpr, + DO_PUT: tl.constexpr, + PUT_BLOCK: tl.constexpr, ): """ Flash attention kernel for one ring step. @@ -179,6 +190,20 @@ def _ring_attn_fwd_kernel( tl.store(l_ptrs, l, mask=q_mask) tl.store(o_ptrs, o, mask=q_mask[:, None]) + # --- Fused KV rotation: each thread block transfers a slice of K and V --- + # The attention grid has (num_heads * cdiv(seq_q, BLOCK_Q)) blocks. + # Each block transfers PUT_BLOCK = BLOCK_Q * HEAD_DIM elements, so the + # total coverage = num_heads * seq_q * HEAD_DIM = n_put_elem exactly. + if DO_PUT: + num_q_blks = tl.cdiv(seq_q, BLOCK_Q) + pid_flat = h * num_q_blks + q_blk + put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) + put_mask = put_offs < n_put_elem + iris.put(k_put_src + put_offs, k_put_dst + put_offs, + put_rank, put_next_rank, heap_bases, mask=put_mask) + iris.put(v_put_src + put_offs, v_put_dst + put_offs, + put_rank, put_next_rank, heap_bases, mask=put_mask) + def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None): """ @@ -267,16 +292,14 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) next_rank = (rank + 1) % world_size - PUT_BLOCK = 1024 + STANDALONE_PUT_BLOCK = 1024 + FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM n_k = k_cur.numel() heap_bases = shmem.get_heap_bases() - # Dedicated CUDA stream for KV rotation so the ``iris.put`` transfer - # runs concurrently with the attention kernel on the default stream. - comm_stream = torch.cuda.Stream(device=q.device) - for step in range(world_size): kv_rank = (rank - step) % world_size + do_put = step < world_size - 1 if causal: skip_compute = kv_rank > rank @@ -285,30 +308,11 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) skip_compute = False apply_causal = False - # --- Overlap: launch KV rotation and attention concurrently --- - # - # Both the put kernel and the attention kernel only READ k_cur / v_cur - # (the put writes to the *remote* rank's k_recv buffer), so there is - # no data-race and they can safely execute on separate streams. - - # 1. Start async KV rotation on comm_stream. - if step < world_size - 1: - comm_stream.wait_stream(torch.cuda.current_stream()) - with torch.cuda.stream(comm_stream): - _put_kv_kernel[(triton.cdiv(n_k, PUT_BLOCK),)]( - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - cur_rank=rank, - next_rank=next_rank, - heap_bases=heap_bases, - BLOCK=PUT_BLOCK, - ) - - # 2. Compute attention on the default stream (overlaps with put). if not skip_compute: + # Fused attention + KV rotation: the attention kernel's thread + # blocks each transfer a slice of K/V to the next rank after + # computing their attention tile, achieving SM-level overlap + # with zero extra kernel launches. q_rank_start = rank * seq_q kv_rank_start = kv_rank * seq_kv grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) @@ -340,16 +344,40 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) q_rank_start, kv_rank_start, scale, + # fused put params + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), + n_k, + put_rank=rank, + put_next_rank=next_rank, + heap_bases=heap_bases, CAUSAL=apply_causal, BLOCK_Q=BLOCK_Q, BLOCK_KV=BLOCK_KV, HEAD_DIM=HEAD_DIM, + DO_PUT=do_put, + PUT_BLOCK=FUSED_PUT_BLOCK, num_warps=4, num_stages=2, ) + elif do_put: + # skip_compute but still need to rotate KV — use standalone put + _put_kv_kernel[(triton.cdiv(n_k, STANDALONE_PUT_BLOCK),)]( + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), + n_k, + cur_rank=rank, + next_rank=next_rank, + heap_bases=heap_bases, + BLOCK=STANDALONE_PUT_BLOCK, + ) - # 3. Drain both streams, then global barrier, then swap buffers. - if step < world_size - 1: + # Global barrier ensures all ranks have received data, then swap. + if do_put: torch.cuda.synchronize() shmem.barrier() k_cur, k_recv = k_recv, k_cur From 647b53dbb50ef2ca0599e85505b825e4305ad078 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 04:28:14 +0000 Subject: [PATCH 11/24] Apply Ruff auto-fixes --- examples/32_ring_attention/ring_attention_kernels.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index eeb58447..48332ad9 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -199,10 +199,8 @@ def _ring_attn_fwd_kernel( pid_flat = h * num_q_blks + q_blk put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) put_mask = put_offs < n_put_elem - iris.put(k_put_src + put_offs, k_put_dst + put_offs, - put_rank, put_next_rank, heap_bases, mask=put_mask) - iris.put(v_put_src + put_offs, v_put_dst + put_offs, - put_rank, put_next_rank, heap_bases, mask=put_mask) + iris.put(k_put_src + put_offs, k_put_dst + put_offs, put_rank, put_next_rank, heap_bases, mask=put_mask) + iris.put(v_put_src + put_offs, v_put_dst + put_offs, put_rank, put_next_rank, heap_bases, mask=put_mask) def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None): From 5037b94a7dfc418463b03daa61b75ac92e1bc063 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Sun, 22 Mar 2026 22:06:20 -0700 Subject: [PATCH 12/24] ring_attention: add per-step profiling script Instruments the ring attention loop to measure kernel, sync, and barrier time at each ring step. Helps identify optimization targets. Co-Authored-By: Claude Opus 4.6 --- .../32_ring_attention/profile_ring_attn.py | 353 ++++++++++++++++++ 1 file changed, 353 insertions(+) create mode 100644 examples/32_ring_attention/profile_ring_attn.py diff --git a/examples/32_ring_attention/profile_ring_attn.py b/examples/32_ring_attention/profile_ring_attn.py new file mode 100644 index 00000000..781012ce --- /dev/null +++ b/examples/32_ring_attention/profile_ring_attn.py @@ -0,0 +1,353 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: MIT +# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. + +""" +Ring Attention profiler: per-step timing breakdown. + +Instruments the ring attention loop to measure where time is spent: + - Kernel launch + compute time + - torch.cuda.synchronize() time + - shmem.barrier() time + +Usage:: + + python examples/32_ring_attention/profile_ring_attn.py + python examples/32_ring_attention/profile_ring_attn.py --num_ranks 4 + python examples/32_ring_attention/profile_ring_attn.py --num_ranks 8 --total_seq_len 16384 +""" + +import argparse +import json +import os +import sys +import tempfile +import time +from pathlib import Path + +import torch +import torch.distributed as dist +import torch.multiprocessing as mp +import triton + +import iris + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from ring_attention_kernels import _ring_attn_fwd_kernel, _put_kv_kernel # noqa: E402 + + +def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None): + """ + Instrumented ring_attn_fwd that collects per-step timing. + + Returns (output, timing_data). + """ + rank = shmem.get_rank() + world_size = shmem.get_num_ranks() + + seq_q, num_heads, head_dim = q.shape + seq_kv = k.shape[0] + + if scale is None: + scale = head_dim**-0.5 + + input_dtype = q.dtype + + O = torch.zeros(seq_q, num_heads, head_dim, dtype=torch.float32, device=q.device) + M = torch.full((num_heads, seq_q), fill_value=-float("inf"), dtype=torch.float32, device=q.device) + L = torch.zeros(num_heads, seq_q, dtype=torch.float32, device=q.device) + + BLOCK_Q = 64 + BLOCK_KV = 64 + HEAD_DIM = head_dim + + if _ping_pong_bufs is not None: + k_ping, k_pong, v_ping, v_pong = _ping_pong_bufs + else: + k_ping = shmem.empty(k.shape, dtype=k.dtype) + k_pong = shmem.empty(k.shape, dtype=k.dtype) + v_ping = shmem.empty(v.shape, dtype=v.dtype) + v_pong = shmem.empty(v.shape, dtype=v.dtype) + + k_ping.copy_(k.contiguous()) + v_ping.copy_(v.contiguous()) + shmem.barrier() + + k_cur, k_recv = k_ping, k_pong + v_cur, v_recv = v_ping, v_pong + + next_rank = (rank + 1) % world_size + + STANDALONE_PUT_BLOCK = 1024 + FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM + n_k = k_cur.numel() + heap_bases = shmem.get_heap_bases() + + step_timings = [] + + for step in range(world_size): + kv_rank = (rank - step) % world_size + do_put = step < world_size - 1 + + if causal: + skip_compute = kv_rank > rank + apply_causal = kv_rank == rank + else: + skip_compute = False + apply_causal = False + + # --- Time the kernel launch + execution --- + kernel_start = torch.cuda.Event(enable_timing=True) + kernel_end = torch.cuda.Event(enable_timing=True) + + kernel_start.record() + + if not skip_compute: + q_rank_start = rank * seq_q + kv_rank_start = kv_rank * seq_kv + grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) + _ring_attn_fwd_kernel[grid]( + q, k_cur, v_cur, O, M, L, + q.stride(0), q.stride(1), q.stride(2), + k_cur.stride(0), k_cur.stride(1), k_cur.stride(2), + v_cur.stride(0), v_cur.stride(1), v_cur.stride(2), + O.stride(0), O.stride(1), O.stride(2), + M.stride(0), M.stride(1), + L.stride(0), L.stride(1), + seq_q, seq_kv, + q_rank_start, kv_rank_start, scale, + # fused put params + k_cur.view(-1), k_recv.view(-1), + v_cur.view(-1), v_recv.view(-1), + n_k, + put_rank=rank, put_next_rank=next_rank, + heap_bases=heap_bases, + CAUSAL=apply_causal, + BLOCK_Q=BLOCK_Q, BLOCK_KV=BLOCK_KV, HEAD_DIM=HEAD_DIM, + DO_PUT=do_put, PUT_BLOCK=FUSED_PUT_BLOCK, + num_warps=4, num_stages=2, + ) + elif do_put: + _put_kv_kernel[(triton.cdiv(n_k, STANDALONE_PUT_BLOCK),)]( + k_cur.view(-1), k_recv.view(-1), + v_cur.view(-1), v_recv.view(-1), + n_k, + cur_rank=rank, next_rank=next_rank, + heap_bases=heap_bases, + BLOCK=STANDALONE_PUT_BLOCK, + ) + + kernel_end.record() + + # --- Time sync + barrier --- + if do_put: + sync_start = torch.cuda.Event(enable_timing=True) + sync_end = torch.cuda.Event(enable_timing=True) + + sync_start.record() + torch.cuda.synchronize() + sync_end.record() + torch.cuda.synchronize() # need to sync to read sync timing + + sync_ms = sync_start.elapsed_time(sync_end) + + barrier_wall_start = time.perf_counter() + shmem.barrier() + barrier_wall_end = time.perf_counter() + barrier_ms = (barrier_wall_end - barrier_wall_start) * 1000.0 + + k_cur, k_recv = k_recv, k_cur + v_cur, v_recv = v_recv, v_cur + else: + torch.cuda.synchronize() + sync_ms = 0.0 + barrier_ms = 0.0 + + kernel_ms = kernel_start.elapsed_time(kernel_end) + + step_timings.append({ + "step": step, + "kv_rank": kv_rank, + "skip_compute": skip_compute, + "do_put": do_put, + "kernel_ms": kernel_ms, + "sync_ms": sync_ms, + "barrier_ms": barrier_ms, + "total_ms": kernel_ms + sync_ms + barrier_ms, + }) + + L_expanded = L.permute(1, 0).unsqueeze(-1) + output = O / L_expanded + + return output.to(input_dtype), step_timings + + +def _profile_worker(rank, world_size, init_url, cfg, results_file): + backend = "nccl" if torch.cuda.is_available() else "gloo" + dist.init_process_group( + backend=backend, init_method=init_url, + world_size=world_size, rank=rank, + device_id=torch.device(f"cuda:{rank}"), + ) + torch.cuda.set_device(rank) + torch.set_default_device(f"cuda:{rank}") + + shmem = iris.iris() + + total_seq = cfg["total_seq"] + num_heads = cfg["num_heads"] + head_dim = cfg["head_dim"] + dtype = getattr(torch, cfg["dtype"]) + causal = cfg["causal"] + num_warmup = cfg["warmup"] + num_iters = cfg["iters"] + + seq_local = total_seq // world_size + scale = head_dim**-0.5 + + torch.manual_seed(42 + rank) + q = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + k = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + v = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) + + # Pre-allocate ping-pong buffers + k_ping = shmem.empty(k.shape, dtype=k.dtype) + k_pong = shmem.empty(k.shape, dtype=k.dtype) + v_ping = shmem.empty(v.shape, dtype=v.dtype) + v_pong = shmem.empty(v.shape, dtype=v.dtype) + bufs = (k_ping, k_pong, v_ping, v_pong) + + shmem.barrier() + + # Warmup + for _ in range(num_warmup): + out, _ = _profiled_ring_attn_fwd(q, k, v, shmem, causal=causal, scale=scale, _ping_pong_bufs=bufs) + torch.cuda.synchronize() + shmem.barrier() + + # Timed iterations — collect per-step timings + all_iter_timings = [] + for it in range(num_iters): + out, step_timings = _profiled_ring_attn_fwd(q, k, v, shmem, causal=causal, scale=scale, _ping_pong_bufs=bufs) + all_iter_timings.append(step_timings) + torch.cuda.synchronize() + shmem.barrier() + + # Aggregate: average each step's timings across iterations + num_steps = world_size + avg_timings = [] + for s in range(num_steps): + kernel_vals = [all_iter_timings[it][s]["kernel_ms"] for it in range(num_iters)] + sync_vals = [all_iter_timings[it][s]["sync_ms"] for it in range(num_iters)] + barrier_vals = [all_iter_timings[it][s]["barrier_ms"] for it in range(num_iters)] + total_vals = [all_iter_timings[it][s]["total_ms"] for it in range(num_iters)] + avg_timings.append({ + "step": s, + "kv_rank": all_iter_timings[0][s]["kv_rank"], + "skip_compute": all_iter_timings[0][s]["skip_compute"], + "do_put": all_iter_timings[0][s]["do_put"], + "kernel_ms": sum(kernel_vals) / len(kernel_vals), + "sync_ms": sum(sync_vals) / len(sync_vals), + "barrier_ms": sum(barrier_vals) / len(barrier_vals), + "total_ms": sum(total_vals) / len(total_vals), + }) + + del shmem + dist.destroy_process_group() + + if rank == 0: + result = { + "config": cfg, + "world_size": world_size, + "rank": rank, + "per_step": avg_timings, + "totals": { + "kernel_ms": sum(s["kernel_ms"] for s in avg_timings), + "sync_ms": sum(s["sync_ms"] for s in avg_timings), + "barrier_ms": sum(s["barrier_ms"] for s in avg_timings), + "total_ms": sum(s["total_ms"] for s in avg_timings), + }, + } + with open(results_file, "w") as f: + json.dump(result, f, indent=2) + + +def main(): + parser = argparse.ArgumentParser(description="Ring Attention profiler") + parser.add_argument("--num_ranks", type=int, default=2) + parser.add_argument("--total_seq_len", type=int, default=8192) + parser.add_argument("--num_heads", type=int, default=16) + parser.add_argument("--head_dim", type=int, default=64) + parser.add_argument("--no_causal", dest="causal", action="store_false", default=True) + parser.add_argument("--dtype", default="float16") + parser.add_argument("--warmup", type=int, default=3) + parser.add_argument("--iters", type=int, default=10) + args = parser.parse_args() + + cfg = { + "total_seq": args.total_seq_len, + "num_heads": args.num_heads, + "head_dim": args.head_dim, + "dtype": args.dtype, + "causal": args.causal, + "warmup": args.warmup, + "iters": args.iters, + } + + with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as f: + results_file = f.name + + try: + import socket + _sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + _sock.bind(("", 0)) + init_url = f"tcp://127.0.0.1:{_sock.getsockname()[1]}" + _sock.close() + + mp.spawn( + fn=_profile_worker, + args=(args.num_ranks, init_url, cfg, results_file), + nprocs=args.num_ranks, + join=True, + ) + + with open(results_file) as f: + result = json.load(f) + + # Print results + world_size = result["world_size"] + totals = result["totals"] + print(f"\n{'='*80}") + print(f"Ring Attention Profiling — {world_size} GPUs, seq={cfg['total_seq']}, " + f"H={cfg['num_heads']}, D={cfg['head_dim']}, causal={cfg['causal']}") + print(f"{'='*80}") + + print(f"\n{'step':>4} {'kv_rank':>7} {'skip':>5} {'put':>4} " + f"{'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}") + print("-" * 70) + for s in result["per_step"]: + print(f"{s['step']:>4} {s['kv_rank']:>7} {str(s['skip_compute']):>5} {str(s['do_put']):>4} " + f"{s['kernel_ms']:>8.3f}ms {s['sync_ms']:>8.3f}ms {s['barrier_ms']:>8.3f}ms {s['total_ms']:>8.3f}ms") + + print(f"\n--- Totals (rank 0) ---") + print(f" Kernel compute : {totals['kernel_ms']:>8.3f} ms ({100*totals['kernel_ms']/totals['total_ms']:>5.1f}%)") + print(f" CUDA sync : {totals['sync_ms']:>8.3f} ms ({100*totals['sync_ms']/totals['total_ms']:>5.1f}%)") + print(f" Barrier : {totals['barrier_ms']:>8.3f} ms ({100*totals['barrier_ms']/totals['total_ms']:>5.1f}%)") + print(f" TOTAL : {totals['total_ms']:>8.3f} ms") + + # Compute efficiency + seq_local = cfg["total_seq"] // world_size + flops = 4 * seq_local * cfg["total_seq"] * cfg["head_dim"] * cfg["num_heads"] + if cfg["causal"]: + flops //= 2 + tflops = flops / (totals["total_ms"] * 1e-3) / 1e12 + print(f" TFLOPS : {tflops:>8.2f}") + print(f" MFU (vs 1307) : {100*tflops/1307.4:>7.1f}%") + print() + + finally: + os.unlink(results_file) + + +if __name__ == "__main__": + main() From f68bd36a82140ce604585b1472d2cdc3200d3a1e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 05:07:04 +0000 Subject: [PATCH 13/24] Apply Ruff auto-fixes --- .../32_ring_attention/profile_ring_attn.py | 152 ++++++++++++------ 1 file changed, 99 insertions(+), 53 deletions(-) diff --git a/examples/32_ring_attention/profile_ring_attn.py b/examples/32_ring_attention/profile_ring_attn.py index 781012ce..842e37ef 100644 --- a/examples/32_ring_attention/profile_ring_attn.py +++ b/examples/32_ring_attention/profile_ring_attn.py @@ -107,32 +107,60 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_ kv_rank_start = kv_rank * seq_kv grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) _ring_attn_fwd_kernel[grid]( - q, k_cur, v_cur, O, M, L, - q.stride(0), q.stride(1), q.stride(2), - k_cur.stride(0), k_cur.stride(1), k_cur.stride(2), - v_cur.stride(0), v_cur.stride(1), v_cur.stride(2), - O.stride(0), O.stride(1), O.stride(2), - M.stride(0), M.stride(1), - L.stride(0), L.stride(1), - seq_q, seq_kv, - q_rank_start, kv_rank_start, scale, + q, + k_cur, + v_cur, + O, + M, + L, + q.stride(0), + q.stride(1), + q.stride(2), + k_cur.stride(0), + k_cur.stride(1), + k_cur.stride(2), + v_cur.stride(0), + v_cur.stride(1), + v_cur.stride(2), + O.stride(0), + O.stride(1), + O.stride(2), + M.stride(0), + M.stride(1), + L.stride(0), + L.stride(1), + seq_q, + seq_kv, + q_rank_start, + kv_rank_start, + scale, # fused put params - k_cur.view(-1), k_recv.view(-1), - v_cur.view(-1), v_recv.view(-1), + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), n_k, - put_rank=rank, put_next_rank=next_rank, + put_rank=rank, + put_next_rank=next_rank, heap_bases=heap_bases, CAUSAL=apply_causal, - BLOCK_Q=BLOCK_Q, BLOCK_KV=BLOCK_KV, HEAD_DIM=HEAD_DIM, - DO_PUT=do_put, PUT_BLOCK=FUSED_PUT_BLOCK, - num_warps=4, num_stages=2, + BLOCK_Q=BLOCK_Q, + BLOCK_KV=BLOCK_KV, + HEAD_DIM=HEAD_DIM, + DO_PUT=do_put, + PUT_BLOCK=FUSED_PUT_BLOCK, + num_warps=4, + num_stages=2, ) elif do_put: _put_kv_kernel[(triton.cdiv(n_k, STANDALONE_PUT_BLOCK),)]( - k_cur.view(-1), k_recv.view(-1), - v_cur.view(-1), v_recv.view(-1), + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), n_k, - cur_rank=rank, next_rank=next_rank, + cur_rank=rank, + next_rank=next_rank, heap_bases=heap_bases, BLOCK=STANDALONE_PUT_BLOCK, ) @@ -165,16 +193,18 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_ kernel_ms = kernel_start.elapsed_time(kernel_end) - step_timings.append({ - "step": step, - "kv_rank": kv_rank, - "skip_compute": skip_compute, - "do_put": do_put, - "kernel_ms": kernel_ms, - "sync_ms": sync_ms, - "barrier_ms": barrier_ms, - "total_ms": kernel_ms + sync_ms + barrier_ms, - }) + step_timings.append( + { + "step": step, + "kv_rank": kv_rank, + "skip_compute": skip_compute, + "do_put": do_put, + "kernel_ms": kernel_ms, + "sync_ms": sync_ms, + "barrier_ms": barrier_ms, + "total_ms": kernel_ms + sync_ms + barrier_ms, + } + ) L_expanded = L.permute(1, 0).unsqueeze(-1) output = O / L_expanded @@ -185,8 +215,10 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_ def _profile_worker(rank, world_size, init_url, cfg, results_file): backend = "nccl" if torch.cuda.is_available() else "gloo" dist.init_process_group( - backend=backend, init_method=init_url, - world_size=world_size, rank=rank, + backend=backend, + init_method=init_url, + world_size=world_size, + rank=rank, device_id=torch.device(f"cuda:{rank}"), ) torch.cuda.set_device(rank) @@ -241,16 +273,18 @@ def _profile_worker(rank, world_size, init_url, cfg, results_file): sync_vals = [all_iter_timings[it][s]["sync_ms"] for it in range(num_iters)] barrier_vals = [all_iter_timings[it][s]["barrier_ms"] for it in range(num_iters)] total_vals = [all_iter_timings[it][s]["total_ms"] for it in range(num_iters)] - avg_timings.append({ - "step": s, - "kv_rank": all_iter_timings[0][s]["kv_rank"], - "skip_compute": all_iter_timings[0][s]["skip_compute"], - "do_put": all_iter_timings[0][s]["do_put"], - "kernel_ms": sum(kernel_vals) / len(kernel_vals), - "sync_ms": sum(sync_vals) / len(sync_vals), - "barrier_ms": sum(barrier_vals) / len(barrier_vals), - "total_ms": sum(total_vals) / len(total_vals), - }) + avg_timings.append( + { + "step": s, + "kv_rank": all_iter_timings[0][s]["kv_rank"], + "skip_compute": all_iter_timings[0][s]["skip_compute"], + "do_put": all_iter_timings[0][s]["do_put"], + "kernel_ms": sum(kernel_vals) / len(kernel_vals), + "sync_ms": sum(sync_vals) / len(sync_vals), + "barrier_ms": sum(barrier_vals) / len(barrier_vals), + "total_ms": sum(total_vals) / len(total_vals), + } + ) del shmem dist.destroy_process_group() @@ -299,6 +333,7 @@ def main(): try: import socket + _sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) _sock.bind(("", 0)) init_url = f"tcp://127.0.0.1:{_sock.getsockname()[1]}" @@ -317,22 +352,33 @@ def main(): # Print results world_size = result["world_size"] totals = result["totals"] - print(f"\n{'='*80}") - print(f"Ring Attention Profiling — {world_size} GPUs, seq={cfg['total_seq']}, " - f"H={cfg['num_heads']}, D={cfg['head_dim']}, causal={cfg['causal']}") - print(f"{'='*80}") + print(f"\n{'=' * 80}") + print( + f"Ring Attention Profiling — {world_size} GPUs, seq={cfg['total_seq']}, " + f"H={cfg['num_heads']}, D={cfg['head_dim']}, causal={cfg['causal']}" + ) + print(f"{'=' * 80}") - print(f"\n{'step':>4} {'kv_rank':>7} {'skip':>5} {'put':>4} " - f"{'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}") + print( + f"\n{'step':>4} {'kv_rank':>7} {'skip':>5} {'put':>4} {'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}" + ) print("-" * 70) for s in result["per_step"]: - print(f"{s['step']:>4} {s['kv_rank']:>7} {str(s['skip_compute']):>5} {str(s['do_put']):>4} " - f"{s['kernel_ms']:>8.3f}ms {s['sync_ms']:>8.3f}ms {s['barrier_ms']:>8.3f}ms {s['total_ms']:>8.3f}ms") + print( + f"{s['step']:>4} {s['kv_rank']:>7} {str(s['skip_compute']):>5} {str(s['do_put']):>4} " + f"{s['kernel_ms']:>8.3f}ms {s['sync_ms']:>8.3f}ms {s['barrier_ms']:>8.3f}ms {s['total_ms']:>8.3f}ms" + ) - print(f"\n--- Totals (rank 0) ---") - print(f" Kernel compute : {totals['kernel_ms']:>8.3f} ms ({100*totals['kernel_ms']/totals['total_ms']:>5.1f}%)") - print(f" CUDA sync : {totals['sync_ms']:>8.3f} ms ({100*totals['sync_ms']/totals['total_ms']:>5.1f}%)") - print(f" Barrier : {totals['barrier_ms']:>8.3f} ms ({100*totals['barrier_ms']/totals['total_ms']:>5.1f}%)") + print("\n--- Totals (rank 0) ---") + print( + f" Kernel compute : {totals['kernel_ms']:>8.3f} ms ({100 * totals['kernel_ms'] / totals['total_ms']:>5.1f}%)" + ) + print( + f" CUDA sync : {totals['sync_ms']:>8.3f} ms ({100 * totals['sync_ms'] / totals['total_ms']:>5.1f}%)" + ) + print( + f" Barrier : {totals['barrier_ms']:>8.3f} ms ({100 * totals['barrier_ms'] / totals['total_ms']:>5.1f}%)" + ) print(f" TOTAL : {totals['total_ms']:>8.3f} ms") # Compute efficiency @@ -342,7 +388,7 @@ def main(): flops //= 2 tflops = flops / (totals["total_ms"] * 1e-3) / 1e12 print(f" TFLOPS : {tflops:>8.2f}") - print(f" MFU (vs 1307) : {100*tflops/1307.4:>7.1f}%") + print(f" MFU (vs 1307) : {100 * tflops / 1307.4:>7.1f}%") print() finally: From 6f9fa80538d4de5c06e955260cc8040565786a98 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Sun, 22 Mar 2026 22:18:56 -0700 Subject: [PATCH 14/24] ring_attention: eliminate causal load imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Profiling showed that for causal attention, rank 0 spent 68.5% of time waiting in barriers while higher-ranked GPUs computed. The skip_compute optimization (skip attention when kv_rank > rank) caused massive load imbalance — rank 0 only computed 1 of N steps while rank N-1 computed all N steps. Fix: always run the attention kernel on every step. The causal mask naturally handles future KV blocks (all positions masked → zero contribution via online softmax). Running masked blocks is cheap compared to barrier-waiting for load-imbalanced ranks. Also pass CAUSAL=causal for all steps (not just the diagonal block), which correctly masks future positions at every ring step and reduces Triton kernel specializations from 3 to 2. Co-Authored-By: Claude Opus 4.6 --- .../32_ring_attention/profile_ring_attn.py | 129 +++++++---------- .../ring_attention_kernels.py | 136 ++++++++---------- 2 files changed, 114 insertions(+), 151 deletions(-) diff --git a/examples/32_ring_attention/profile_ring_attn.py b/examples/32_ring_attention/profile_ring_attn.py index 842e37ef..6831f6a8 100644 --- a/examples/32_ring_attention/profile_ring_attn.py +++ b/examples/32_ring_attention/profile_ring_attn.py @@ -33,7 +33,7 @@ import iris sys.path.insert(0, str(Path(__file__).resolve().parent)) -from ring_attention_kernels import _ring_attn_fwd_kernel, _put_kv_kernel # noqa: E402 +from ring_attention_kernels import _ring_attn_fwd_kernel # noqa: E402 def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None): @@ -78,7 +78,6 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_ next_rank = (rank + 1) % world_size - STANDALONE_PUT_BLOCK = 1024 FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM n_k = k_cur.numel() heap_bases = shmem.get_heap_bases() @@ -89,81 +88,61 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_ kv_rank = (rank - step) % world_size do_put = step < world_size - 1 - if causal: - skip_compute = kv_rank > rank - apply_causal = kv_rank == rank - else: - skip_compute = False - apply_causal = False - # --- Time the kernel launch + execution --- kernel_start = torch.cuda.Event(enable_timing=True) kernel_end = torch.cuda.Event(enable_timing=True) kernel_start.record() - if not skip_compute: - q_rank_start = rank * seq_q - kv_rank_start = kv_rank * seq_kv - grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) - _ring_attn_fwd_kernel[grid]( - q, - k_cur, - v_cur, - O, - M, - L, - q.stride(0), - q.stride(1), - q.stride(2), - k_cur.stride(0), - k_cur.stride(1), - k_cur.stride(2), - v_cur.stride(0), - v_cur.stride(1), - v_cur.stride(2), - O.stride(0), - O.stride(1), - O.stride(2), - M.stride(0), - M.stride(1), - L.stride(0), - L.stride(1), - seq_q, - seq_kv, - q_rank_start, - kv_rank_start, - scale, - # fused put params - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - put_rank=rank, - put_next_rank=next_rank, - heap_bases=heap_bases, - CAUSAL=apply_causal, - BLOCK_Q=BLOCK_Q, - BLOCK_KV=BLOCK_KV, - HEAD_DIM=HEAD_DIM, - DO_PUT=do_put, - PUT_BLOCK=FUSED_PUT_BLOCK, - num_warps=4, - num_stages=2, - ) - elif do_put: - _put_kv_kernel[(triton.cdiv(n_k, STANDALONE_PUT_BLOCK),)]( - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - cur_rank=rank, - next_rank=next_rank, - heap_bases=heap_bases, - BLOCK=STANDALONE_PUT_BLOCK, - ) + q_rank_start = rank * seq_q + kv_rank_start = kv_rank * seq_kv + grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) + _ring_attn_fwd_kernel[grid]( + q, + k_cur, + v_cur, + O, + M, + L, + q.stride(0), + q.stride(1), + q.stride(2), + k_cur.stride(0), + k_cur.stride(1), + k_cur.stride(2), + v_cur.stride(0), + v_cur.stride(1), + v_cur.stride(2), + O.stride(0), + O.stride(1), + O.stride(2), + M.stride(0), + M.stride(1), + L.stride(0), + L.stride(1), + seq_q, + seq_kv, + q_rank_start, + kv_rank_start, + scale, + # fused put params + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), + n_k, + put_rank=rank, + put_next_rank=next_rank, + heap_bases=heap_bases, + CAUSAL=causal, + BLOCK_Q=BLOCK_Q, + BLOCK_KV=BLOCK_KV, + HEAD_DIM=HEAD_DIM, + DO_PUT=do_put, + PUT_BLOCK=FUSED_PUT_BLOCK, + num_warps=4, + num_stages=2, + ) kernel_end.record() @@ -197,7 +176,6 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_ { "step": step, "kv_rank": kv_rank, - "skip_compute": skip_compute, "do_put": do_put, "kernel_ms": kernel_ms, "sync_ms": sync_ms, @@ -277,7 +255,6 @@ def _profile_worker(rank, world_size, init_url, cfg, results_file): { "step": s, "kv_rank": all_iter_timings[0][s]["kv_rank"], - "skip_compute": all_iter_timings[0][s]["skip_compute"], "do_put": all_iter_timings[0][s]["do_put"], "kernel_ms": sum(kernel_vals) / len(kernel_vals), "sync_ms": sum(sync_vals) / len(sync_vals), @@ -360,12 +337,12 @@ def main(): print(f"{'=' * 80}") print( - f"\n{'step':>4} {'kv_rank':>7} {'skip':>5} {'put':>4} {'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}" + f"\n{'step':>4} {'kv_rank':>7} {'put':>4} {'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}" ) - print("-" * 70) + print("-" * 65) for s in result["per_step"]: print( - f"{s['step']:>4} {s['kv_rank']:>7} {str(s['skip_compute']):>5} {str(s['do_put']):>4} " + f"{s['step']:>4} {s['kv_rank']:>7} {str(s['do_put']):>4} " f"{s['kernel_ms']:>8.3f}ms {s['sync_ms']:>8.3f}ms {s['barrier_ms']:>8.3f}ms {s['total_ms']:>8.3f}ms" ) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 48332ad9..db676255 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -290,7 +290,6 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) next_rank = (rank + 1) % world_size - STANDALONE_PUT_BLOCK = 1024 FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM n_k = k_cur.numel() heap_bases = shmem.get_heap_bases() @@ -299,80 +298,67 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) kv_rank = (rank - step) % world_size do_put = step < world_size - 1 - if causal: - skip_compute = kv_rank > rank - apply_causal = kv_rank == rank - else: - skip_compute = False - apply_causal = False - - if not skip_compute: - # Fused attention + KV rotation: the attention kernel's thread - # blocks each transfer a slice of K/V to the next rank after - # computing their attention tile, achieving SM-level overlap - # with zero extra kernel launches. - q_rank_start = rank * seq_q - kv_rank_start = kv_rank * seq_kv - grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) - _ring_attn_fwd_kernel[grid]( - q, - k_cur, - v_cur, - O, - M, - L, - q.stride(0), - q.stride(1), - q.stride(2), - k_cur.stride(0), - k_cur.stride(1), - k_cur.stride(2), - v_cur.stride(0), - v_cur.stride(1), - v_cur.stride(2), - O.stride(0), - O.stride(1), - O.stride(2), - M.stride(0), - M.stride(1), - L.stride(0), - L.stride(1), - seq_q, - seq_kv, - q_rank_start, - kv_rank_start, - scale, - # fused put params - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - put_rank=rank, - put_next_rank=next_rank, - heap_bases=heap_bases, - CAUSAL=apply_causal, - BLOCK_Q=BLOCK_Q, - BLOCK_KV=BLOCK_KV, - HEAD_DIM=HEAD_DIM, - DO_PUT=do_put, - PUT_BLOCK=FUSED_PUT_BLOCK, - num_warps=4, - num_stages=2, - ) - elif do_put: - # skip_compute but still need to rotate KV — use standalone put - _put_kv_kernel[(triton.cdiv(n_k, STANDALONE_PUT_BLOCK),)]( - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - cur_rank=rank, - next_rank=next_rank, - heap_bases=heap_bases, - BLOCK=STANDALONE_PUT_BLOCK, - ) + # Never skip compute even when all KV positions will be causally + # masked: running the attention kernel on fully-masked blocks is + # cheap (all-inf qk → zero contribution via online softmax) and + # keeps all ranks busy at every step, eliminating the barrier-wait + # imbalance where low-ranked GPUs idle while high-ranked GPUs + # compute. We always pass the outer `causal` flag so the kernel + # applies the correct global causal mask at every step. + + # Fused attention + KV rotation: the attention kernel's thread + # blocks each transfer a slice of K/V to the next rank after + # computing their attention tile, achieving SM-level overlap + # with zero extra kernel launches. + q_rank_start = rank * seq_q + kv_rank_start = kv_rank * seq_kv + grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) + _ring_attn_fwd_kernel[grid]( + q, + k_cur, + v_cur, + O, + M, + L, + q.stride(0), + q.stride(1), + q.stride(2), + k_cur.stride(0), + k_cur.stride(1), + k_cur.stride(2), + v_cur.stride(0), + v_cur.stride(1), + v_cur.stride(2), + O.stride(0), + O.stride(1), + O.stride(2), + M.stride(0), + M.stride(1), + L.stride(0), + L.stride(1), + seq_q, + seq_kv, + q_rank_start, + kv_rank_start, + scale, + # fused put params + k_cur.view(-1), + k_recv.view(-1), + v_cur.view(-1), + v_recv.view(-1), + n_k, + put_rank=rank, + put_next_rank=next_rank, + heap_bases=heap_bases, + CAUSAL=causal, + BLOCK_Q=BLOCK_Q, + BLOCK_KV=BLOCK_KV, + HEAD_DIM=HEAD_DIM, + DO_PUT=do_put, + PUT_BLOCK=FUSED_PUT_BLOCK, + num_warps=4, + num_stages=2, + ) # Global barrier ensures all ranks have received data, then swap. if do_put: From 0430a23b3a51cb7195424e21c745d61c6365a0cc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 05:19:20 +0000 Subject: [PATCH 15/24] Apply Ruff auto-fixes --- examples/32_ring_attention/profile_ring_attn.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/32_ring_attention/profile_ring_attn.py b/examples/32_ring_attention/profile_ring_attn.py index 6831f6a8..9dc57684 100644 --- a/examples/32_ring_attention/profile_ring_attn.py +++ b/examples/32_ring_attention/profile_ring_attn.py @@ -336,9 +336,7 @@ def main(): ) print(f"{'=' * 80}") - print( - f"\n{'step':>4} {'kv_rank':>7} {'put':>4} {'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}" - ) + print(f"\n{'step':>4} {'kv_rank':>7} {'put':>4} {'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}") print("-" * 65) for s in result["per_step"]: print( From 061903c6b7db8d22941ee9717547f61789b60c05 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Sun, 22 Mar 2026 22:54:00 -0700 Subject: [PATCH 16/24] perf: use fp16 MFMA and causal early exit in ring attention kernel Three optimizations that should dramatically improve throughput: 1. FP16 MFMA matmuls: Remove .to(tl.float32) casts from Q/K/V loads so tl.dot uses the FP16 matrix unit path (1307 TFLOPS on MI300X) instead of FP32 (~163 TFLOPS). Cast softmax probs to native dtype before the AV dot product. Accumulators (M, L, O) stay in fp32. 2. Program-level causal early exit: When all KV positions are beyond the Q block's range (kv_rank_start > q_global_max), skip attention entirely and just do the fused KV rotation. Avoids loading Q/K/V and running the inner loop for fully-masked ring steps. 3. Inner-loop causal skip: Stop processing KV blocks once positions exceed the Q range. Avoids loading K/V and computing masked matmuls for blocks that would contribute nothing. Co-Authored-By: Claude Opus 4.6 --- .../ring_attention_kernels.py | 119 +++++++++++------- 1 file changed, 72 insertions(+), 47 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index db676255..9c2391af 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -123,9 +123,40 @@ def _ring_attn_fwd_kernel( q_idx = q_off + tl.arange(0, BLOCK_Q) q_mask = q_idx < seq_q - # Load Q block: [BLOCK_Q, HEAD_DIM] + # --- Causal early exit: skip attention if entire KV chunk is masked --- + if CAUSAL: + q_global_max = q_rank_start + q_off + BLOCK_Q - 1 + if kv_rank_start > q_global_max: + # All KV positions are in the future — no useful attention. + # Just do the fused KV rotation and return. + if DO_PUT: + num_q_blks = tl.cdiv(seq_q, BLOCK_Q) + pid_flat = h * num_q_blks + q_blk + put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) + put_mask = put_offs < n_put_elem + iris.put( + k_put_src + put_offs, + k_put_dst + put_offs, + put_rank, + put_next_rank, + heap_bases, + mask=put_mask, + ) + iris.put( + v_put_src + put_offs, + v_put_dst + put_offs, + put_rank, + put_next_rank, + heap_bases, + mask=put_mask, + ) + return + + # Load Q block in native dtype (fp16/bf16) for efficient MFMA matrix multiply. + # Keeping inputs in fp16 uses the FP16 MFMA path (1307 TFLOPS on MI300X) + # instead of the FP32 path (~163 TFLOPS). q_ptrs = Q + h * stride_qh + q_idx[:, None] * stride_qs + tl.arange(0, HEAD_DIM)[None, :] * stride_qd - q = tl.load(q_ptrs, mask=q_mask[:, None], other=0.0).to(tl.float32) + q = tl.load(q_ptrs, mask=q_mask[:, None], other=0.0) # Load running statistics for this head and Q block m_ptrs = M + h * stride_mh + q_idx * stride_ms @@ -141,49 +172,49 @@ def _ring_attn_fwd_kernel( # The maximum value is world_size * seq_q which fits comfortably in int32. q_global = q_rank_start + q_idx - # Iterate over all KV blocks + # Iterate over KV blocks d_idx = tl.arange(0, HEAD_DIM) for kv_off in range(0, seq_kv, BLOCK_KV): - kv_idx = kv_off + tl.arange(0, BLOCK_KV) - kv_mask = kv_idx < seq_kv - - # Load K in transposed layout [HEAD_DIM, BLOCK_KV] for efficient dot product - k_ptrs = K + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks - v_ptrs = V + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd - - k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0).to(tl.float32) - v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0).to(tl.float32) - - # Attention scores: [BLOCK_Q, BLOCK_KV] = Q [BLOCK_Q, HEAD_DIM] @ K^T [HEAD_DIM, BLOCK_KV] - qk = tl.dot(q, k) * scale - - # Apply padding mask (validity) and optional causal mask + # Causal inner-loop skip: avoid loading K/V for fully-masked blocks. + # Once kv_rank_start + kv_off > q_global_max, all subsequent blocks + # are also masked (KV positions are monotonically increasing). if CAUSAL: - kv_global = kv_rank_start + kv_idx - # Causal: token at kv_pos can only be attended to if kv_pos <= q_pos - causal_mask = kv_global[None, :] <= q_global[:, None] - qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) + do_kv_block = kv_rank_start + kv_off <= q_global_max else: - qk = tl.where(kv_mask[None, :], qk, -float("inf")) + do_kv_block = True + + if do_kv_block: + kv_idx = kv_off + tl.arange(0, BLOCK_KV) + kv_mask = kv_idx < seq_kv - # Online softmax accumulation - # m_new = max(m, row_max(qk)) - m_new = tl.maximum(m, tl.max(qk, axis=1)) + # Load K transposed [HEAD_DIM, BLOCK_KV] and V [BLOCK_KV, HEAD_DIM] + # in native dtype (fp16/bf16) for efficient MFMA matrix multiply + k_ptrs = K + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks + v_ptrs = V + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd - # Scale factor for previous running values - alpha = libdevice.fast_expf(m - m_new) + k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0) + v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0) - # Unnormalized attention probabilities - p = libdevice.fast_expf(qk - m_new[:, None]) + # QK^T: fp16/bf16 matmul with fp32 accumulation via MFMA + qk = tl.dot(q, k) * scale - # Update running sum - l = alpha * l + tl.sum(p, axis=1) + # Apply padding mask and optional causal mask + if CAUSAL: + kv_global = kv_rank_start + kv_idx + causal_mask = kv_global[None, :] <= q_global[:, None] + qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) + else: + qk = tl.where(kv_mask[None, :], qk, -float("inf")) - # Update running output (unnormalized weighted value sum) - o = alpha[:, None] * o + tl.dot(p, v) + # Online softmax accumulation (fp32) + m_new = tl.maximum(m, tl.max(qk, axis=1)) + alpha = libdevice.fast_expf(m - m_new) + p = libdevice.fast_expf(qk - m_new[:, None]) + l = alpha * l + tl.sum(p, axis=1) - # Update running max - m = m_new + # AV: cast softmax probs to native dtype for efficient MFMA + o = alpha[:, None] * o + tl.dot(p.to(v.dtype), v) + m = m_new # Write back updated statistics and output tl.store(m_ptrs, m, mask=q_mask) @@ -298,18 +329,12 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) kv_rank = (rank - step) % world_size do_put = step < world_size - 1 - # Never skip compute even when all KV positions will be causally - # masked: running the attention kernel on fully-masked blocks is - # cheap (all-inf qk → zero contribution via online softmax) and - # keeps all ranks busy at every step, eliminating the barrier-wait - # imbalance where low-ranked GPUs idle while high-ranked GPUs - # compute. We always pass the outer `causal` flag so the kernel - # applies the correct global causal mask at every step. - - # Fused attention + KV rotation: the attention kernel's thread - # blocks each transfer a slice of K/V to the next rank after - # computing their attention tile, achieving SM-level overlap - # with zero extra kernel launches. + # The kernel handles causal masking internally with two optimizations: + # 1. Program-level early exit: when all KV positions are beyond the + # Q block's range, skip attention entirely (just do the put). + # 2. Inner-loop skip: stop iterating KV blocks once positions exceed + # the Q range, avoiding useless loads and masked matmuls. + # All ranks still launch the kernel at every step (no barrier imbalance). q_rank_start = rank * seq_q kv_rank_start = kv_rank * seq_kv grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) From 651d68a0fb7182b8b38a5e723efc4f18b88f4501 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Mon, 23 Mar 2026 11:44:05 -0700 Subject: [PATCH 17/24] ring_attention: persistent kernel with signal-flag synchronization Replace the per-step kernel launch + host barrier pattern with a single persistent kernel that runs the entire ring loop on-device. Key changes: - Q loaded once, stays in registers across all ring steps - M, L, O accumulators stay in registers (no HBM round-trip between steps) - Point-to-point signal flags on the symmetric heap replace torch.cuda.synchronize() + shmem.barrier() between steps - Completion counter pattern: each CTA atomically increments after its put; the last CTA fires iris.atomic_xchg to signal the next rank - Single kernel launch eliminates world_size launch overheads Removes _put_kv_kernel (superseded by fused puts in persistent kernel). Updates RingAttention layer to cache signal_flags on the shmem heap. Updates profiler to measure end-to-end persistent kernel timing. Co-Authored-By: Claude Opus 4.6 --- .../32_ring_attention/profile_ring_attn.py | 256 +++------- .../ring_attention_kernels.py | 459 ++++++++---------- .../32_ring_attention/ring_attention_layer.py | 14 +- 3 files changed, 268 insertions(+), 461 deletions(-) diff --git a/examples/32_ring_attention/profile_ring_attn.py b/examples/32_ring_attention/profile_ring_attn.py index 9dc57684..d1efcae9 100644 --- a/examples/32_ring_attention/profile_ring_attn.py +++ b/examples/32_ring_attention/profile_ring_attn.py @@ -3,12 +3,10 @@ # Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved. """ -Ring Attention profiler: per-step timing breakdown. +Ring Attention profiler: end-to-end timing for the persistent kernel. -Instruments the ring attention loop to measure where time is spent: - - Kernel launch + compute time - - torch.cuda.synchronize() time - - shmem.barrier() time +Measures total kernel time and wall time for the persistent ring attention +kernel with device-side signal-flag synchronization. Usage:: @@ -28,166 +26,49 @@ import torch import torch.distributed as dist import torch.multiprocessing as mp -import triton import iris sys.path.insert(0, str(Path(__file__).resolve().parent)) -from ring_attention_kernels import _ring_attn_fwd_kernel # noqa: E402 +from ring_attention_kernels import ring_attn_fwd # noqa: E402 -def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None): +def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, + _ping_pong_bufs=None, _signal_flags=None): """ - Instrumented ring_attn_fwd that collects per-step timing. + Instrumented ring_attn_fwd that measures end-to-end kernel time. + + With the persistent kernel, the entire ring loop runs in a single kernel + launch with device-side synchronization, so per-step host timing is not + applicable. This measures total wall time and kernel time instead. Returns (output, timing_data). """ - rank = shmem.get_rank() - world_size = shmem.get_num_ranks() - - seq_q, num_heads, head_dim = q.shape - seq_kv = k.shape[0] - - if scale is None: - scale = head_dim**-0.5 - - input_dtype = q.dtype - - O = torch.zeros(seq_q, num_heads, head_dim, dtype=torch.float32, device=q.device) - M = torch.full((num_heads, seq_q), fill_value=-float("inf"), dtype=torch.float32, device=q.device) - L = torch.zeros(num_heads, seq_q, dtype=torch.float32, device=q.device) - - BLOCK_Q = 64 - BLOCK_KV = 64 - HEAD_DIM = head_dim + # Time the entire persistent kernel launch + kernel_start = torch.cuda.Event(enable_timing=True) + kernel_end = torch.cuda.Event(enable_timing=True) - if _ping_pong_bufs is not None: - k_ping, k_pong, v_ping, v_pong = _ping_pong_bufs - else: - k_ping = shmem.empty(k.shape, dtype=k.dtype) - k_pong = shmem.empty(k.shape, dtype=k.dtype) - v_ping = shmem.empty(v.shape, dtype=v.dtype) - v_pong = shmem.empty(v.shape, dtype=v.dtype) + wall_start = time.perf_counter() + kernel_start.record() - k_ping.copy_(k.contiguous()) - v_ping.copy_(v.contiguous()) - shmem.barrier() - - k_cur, k_recv = k_ping, k_pong - v_cur, v_recv = v_ping, v_pong - - next_rank = (rank + 1) % world_size - - FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM - n_k = k_cur.numel() - heap_bases = shmem.get_heap_bases() - - step_timings = [] - - for step in range(world_size): - kv_rank = (rank - step) % world_size - do_put = step < world_size - 1 - - # --- Time the kernel launch + execution --- - kernel_start = torch.cuda.Event(enable_timing=True) - kernel_end = torch.cuda.Event(enable_timing=True) - - kernel_start.record() - - q_rank_start = rank * seq_q - kv_rank_start = kv_rank * seq_kv - grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) - _ring_attn_fwd_kernel[grid]( - q, - k_cur, - v_cur, - O, - M, - L, - q.stride(0), - q.stride(1), - q.stride(2), - k_cur.stride(0), - k_cur.stride(1), - k_cur.stride(2), - v_cur.stride(0), - v_cur.stride(1), - v_cur.stride(2), - O.stride(0), - O.stride(1), - O.stride(2), - M.stride(0), - M.stride(1), - L.stride(0), - L.stride(1), - seq_q, - seq_kv, - q_rank_start, - kv_rank_start, - scale, - # fused put params - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - put_rank=rank, - put_next_rank=next_rank, - heap_bases=heap_bases, - CAUSAL=causal, - BLOCK_Q=BLOCK_Q, - BLOCK_KV=BLOCK_KV, - HEAD_DIM=HEAD_DIM, - DO_PUT=do_put, - PUT_BLOCK=FUSED_PUT_BLOCK, - num_warps=4, - num_stages=2, - ) + output = ring_attn_fwd( + q, k, v, shmem, + causal=causal, scale=scale, + _ping_pong_bufs=_ping_pong_bufs, _signal_flags=_signal_flags, + ) - kernel_end.record() - - # --- Time sync + barrier --- - if do_put: - sync_start = torch.cuda.Event(enable_timing=True) - sync_end = torch.cuda.Event(enable_timing=True) - - sync_start.record() - torch.cuda.synchronize() - sync_end.record() - torch.cuda.synchronize() # need to sync to read sync timing - - sync_ms = sync_start.elapsed_time(sync_end) - - barrier_wall_start = time.perf_counter() - shmem.barrier() - barrier_wall_end = time.perf_counter() - barrier_ms = (barrier_wall_end - barrier_wall_start) * 1000.0 - - k_cur, k_recv = k_recv, k_cur - v_cur, v_recv = v_recv, v_cur - else: - torch.cuda.synchronize() - sync_ms = 0.0 - barrier_ms = 0.0 - - kernel_ms = kernel_start.elapsed_time(kernel_end) - - step_timings.append( - { - "step": step, - "kv_rank": kv_rank, - "do_put": do_put, - "kernel_ms": kernel_ms, - "sync_ms": sync_ms, - "barrier_ms": barrier_ms, - "total_ms": kernel_ms + sync_ms + barrier_ms, - } - ) + kernel_end.record() + torch.cuda.synchronize() + wall_end = time.perf_counter() - L_expanded = L.permute(1, 0).unsqueeze(-1) - output = O / L_expanded + kernel_ms = kernel_start.elapsed_time(kernel_end) + wall_ms = (wall_end - wall_start) * 1000.0 - return output.to(input_dtype), step_timings + timing_data = { + "kernel_ms": kernel_ms, + "wall_ms": wall_ms, + } + return output, timing_data def _profile_worker(rank, world_size, init_url, cfg, results_file): @@ -220,48 +101,39 @@ def _profile_worker(rank, world_size, init_url, cfg, results_file): k = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) v = torch.randn(seq_local, num_heads, head_dim, dtype=dtype) - # Pre-allocate ping-pong buffers + # Pre-allocate ping-pong buffers and signal flags k_ping = shmem.empty(k.shape, dtype=k.dtype) k_pong = shmem.empty(k.shape, dtype=k.dtype) v_ping = shmem.empty(v.shape, dtype=v.dtype) v_pong = shmem.empty(v.shape, dtype=v.dtype) bufs = (k_ping, k_pong, v_ping, v_pong) + signal_flags = shmem.zeros((world_size,), dtype=torch.int32) shmem.barrier() # Warmup for _ in range(num_warmup): - out, _ = _profiled_ring_attn_fwd(q, k, v, shmem, causal=causal, scale=scale, _ping_pong_bufs=bufs) + out, _ = _profiled_ring_attn_fwd( + q, k, v, shmem, causal=causal, scale=scale, + _ping_pong_bufs=bufs, _signal_flags=signal_flags, + ) torch.cuda.synchronize() shmem.barrier() - # Timed iterations — collect per-step timings + # Timed iterations all_iter_timings = [] for it in range(num_iters): - out, step_timings = _profiled_ring_attn_fwd(q, k, v, shmem, causal=causal, scale=scale, _ping_pong_bufs=bufs) - all_iter_timings.append(step_timings) + out, timing = _profiled_ring_attn_fwd( + q, k, v, shmem, causal=causal, scale=scale, + _ping_pong_bufs=bufs, _signal_flags=signal_flags, + ) + all_iter_timings.append(timing) torch.cuda.synchronize() shmem.barrier() - # Aggregate: average each step's timings across iterations - num_steps = world_size - avg_timings = [] - for s in range(num_steps): - kernel_vals = [all_iter_timings[it][s]["kernel_ms"] for it in range(num_iters)] - sync_vals = [all_iter_timings[it][s]["sync_ms"] for it in range(num_iters)] - barrier_vals = [all_iter_timings[it][s]["barrier_ms"] for it in range(num_iters)] - total_vals = [all_iter_timings[it][s]["total_ms"] for it in range(num_iters)] - avg_timings.append( - { - "step": s, - "kv_rank": all_iter_timings[0][s]["kv_rank"], - "do_put": all_iter_timings[0][s]["do_put"], - "kernel_ms": sum(kernel_vals) / len(kernel_vals), - "sync_ms": sum(sync_vals) / len(sync_vals), - "barrier_ms": sum(barrier_vals) / len(barrier_vals), - "total_ms": sum(total_vals) / len(total_vals), - } - ) + # Aggregate: average timings across iterations + avg_kernel_ms = sum(t["kernel_ms"] for t in all_iter_timings) / num_iters + avg_wall_ms = sum(t["wall_ms"] for t in all_iter_timings) / num_iters del shmem dist.destroy_process_group() @@ -271,12 +143,9 @@ def _profile_worker(rank, world_size, init_url, cfg, results_file): "config": cfg, "world_size": world_size, "rank": rank, - "per_step": avg_timings, "totals": { - "kernel_ms": sum(s["kernel_ms"] for s in avg_timings), - "sync_ms": sum(s["sync_ms"] for s in avg_timings), - "barrier_ms": sum(s["barrier_ms"] for s in avg_timings), - "total_ms": sum(s["total_ms"] for s in avg_timings), + "kernel_ms": avg_kernel_ms, + "wall_ms": avg_wall_ms, }, } with open(results_file, "w") as f: @@ -331,37 +200,22 @@ def main(): totals = result["totals"] print(f"\n{'=' * 80}") print( - f"Ring Attention Profiling — {world_size} GPUs, seq={cfg['total_seq']}, " - f"H={cfg['num_heads']}, D={cfg['head_dim']}, causal={cfg['causal']}" + f"Ring Attention Profiling (persistent kernel) — {world_size} GPUs, " + f"seq={cfg['total_seq']}, H={cfg['num_heads']}, D={cfg['head_dim']}, " + f"causal={cfg['causal']}" ) print(f"{'=' * 80}") - print(f"\n{'step':>4} {'kv_rank':>7} {'put':>4} {'kernel':>9} {'sync':>9} {'barrier':>9} {'total':>9}") - print("-" * 65) - for s in result["per_step"]: - print( - f"{s['step']:>4} {s['kv_rank']:>7} {str(s['do_put']):>4} " - f"{s['kernel_ms']:>8.3f}ms {s['sync_ms']:>8.3f}ms {s['barrier_ms']:>8.3f}ms {s['total_ms']:>8.3f}ms" - ) - - print("\n--- Totals (rank 0) ---") - print( - f" Kernel compute : {totals['kernel_ms']:>8.3f} ms ({100 * totals['kernel_ms'] / totals['total_ms']:>5.1f}%)" - ) - print( - f" CUDA sync : {totals['sync_ms']:>8.3f} ms ({100 * totals['sync_ms'] / totals['total_ms']:>5.1f}%)" - ) - print( - f" Barrier : {totals['barrier_ms']:>8.3f} ms ({100 * totals['barrier_ms'] / totals['total_ms']:>5.1f}%)" - ) - print(f" TOTAL : {totals['total_ms']:>8.3f} ms") + print("\n--- Timings (rank 0, averaged) ---") + print(f" Kernel (GPU) : {totals['kernel_ms']:>8.3f} ms") + print(f" Wall (end2end) : {totals['wall_ms']:>8.3f} ms") # Compute efficiency seq_local = cfg["total_seq"] // world_size flops = 4 * seq_local * cfg["total_seq"] * cfg["head_dim"] * cfg["num_heads"] if cfg["causal"]: flops //= 2 - tflops = flops / (totals["total_ms"] * 1e-3) / 1e12 + tflops = flops / (totals["kernel_ms"] * 1e-3) / 1e12 print(f" TFLOPS : {tflops:>8.2f}") print(f" MFU (vs 1307) : {100 * tflops / 1307.4:>7.1f}%") print() diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 9c2391af..9ec96f0e 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -17,68 +17,35 @@ @triton.jit -def _put_kv_kernel( - k_src, - k_dst, - v_src, - v_dst, - n_elem, - cur_rank: tl.constexpr, - next_rank: tl.constexpr, - heap_bases, - BLOCK: tl.constexpr, -): - """ - Fused K+V put: copy K and V to the next rank in a single kernel launch. - - Both K and V tensors must be flat (same number of elements) and reside on - the Iris symmetric heap so that their addresses can be translated to - ``next_rank``'s address space. - - Each program instance copies ``BLOCK`` elements of K **and** ``BLOCK`` - elements of V, halving kernel-launch overhead compared to two separate - ``_put_tensor_kernel`` calls. - - Args: - k_src: Source K pointer (must be on the symmetric heap). - k_dst: Destination K pointer (must be on the symmetric heap). - v_src: Source V pointer (must be on the symmetric heap). - v_dst: Destination V pointer (must be on the symmetric heap). - n_elem: Total number of elements in K (same as V). - cur_rank: This rank's ID. - next_rank: Destination rank ID. - heap_bases: Iris heap base address table. - BLOCK: Number of elements each program instance handles. - """ - pid = tl.program_id(0) - offs = pid * BLOCK + tl.arange(0, BLOCK) - mask = offs < n_elem - iris.put(k_src + offs, k_dst + offs, cur_rank, next_rank, heap_bases, mask=mask) - iris.put(v_src + offs, v_dst + offs, cur_rank, next_rank, heap_bases, mask=mask) - - -@triton.jit -def _ring_attn_fwd_kernel( +def _ring_attn_persistent_kernel( Q, - K, - V, + K_ping, + K_pong, + V_ping, + V_pong, O, - M, - L, - # strides for Q, K, V, O: [seq, num_heads, head_dim] + M_acc, + L_acc, + # flat pointers for iris.put (contiguous views of ping/pong buffers) + K_ping_flat, + K_pong_flat, + V_ping_flat, + V_pong_flat, + # strides for Q, O: [seq, num_heads, head_dim] stride_qs, stride_qh, stride_qd, + stride_os, + stride_oh, + stride_od, + # strides for K_ping, V_ping (same for pong): [seq, num_heads, head_dim] stride_ks, stride_kh, stride_kd, stride_vs, stride_vh, stride_vd, - stride_os, - stride_oh, - stride_od, - # strides for M, L: [num_heads, seq] + # strides for M_acc, L_acc: [num_heads, seq] stride_mh, stride_ms, stride_lh, @@ -86,35 +53,30 @@ def _ring_attn_fwd_kernel( # sizes seq_q, seq_kv, - # global offsets for causal masking - q_rank_start, - kv_rank_start, - scale, - # fused KV put parameters - k_put_src, - k_put_dst, - v_put_src, - v_put_dst, - n_put_elem, - put_rank: tl.constexpr, - put_next_rank: tl.constexpr, + num_heads, + # signal infrastructure + signal_flags, + put_done_counters, heap_bases, - # compile-time constants + scale, + rank: tl.constexpr, + world_size: tl.constexpr, CAUSAL: tl.constexpr, BLOCK_Q: tl.constexpr, BLOCK_KV: tl.constexpr, HEAD_DIM: tl.constexpr, - DO_PUT: tl.constexpr, PUT_BLOCK: tl.constexpr, ): """ - Flash attention kernel for one ring step. + Persistent flash attention kernel for ring attention. - Each program instance handles one attention head and one block of Q tokens. - Iterates over all KV blocks and accumulates using online softmax. + Runs the entire ring loop inside a single kernel launch. Q stays in + registers across all steps. M, L, O accumulators stay in registers — + no HBM round-trip between steps. - Accumulates into O (unnormalized), M (running log-sum-exp), L (running sum). - The final output is O / L, computed after all ring steps complete. + Synchronization uses point-to-point signal flags on the symmetric heap + instead of host-side barriers. Each CTA atomically increments a completion + counter after its put; the last CTA fires a remote signal to the next rank. """ h = tl.program_id(0) q_blk = tl.program_id(1) @@ -123,133 +85,145 @@ def _ring_attn_fwd_kernel( q_idx = q_off + tl.arange(0, BLOCK_Q) q_mask = q_idx < seq_q - # --- Causal early exit: skip attention if entire KV chunk is masked --- - if CAUSAL: - q_global_max = q_rank_start + q_off + BLOCK_Q - 1 - if kv_rank_start > q_global_max: - # All KV positions are in the future — no useful attention. - # Just do the fused KV rotation and return. - if DO_PUT: - num_q_blks = tl.cdiv(seq_q, BLOCK_Q) - pid_flat = h * num_q_blks + q_blk - put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) - put_mask = put_offs < n_put_elem - iris.put( - k_put_src + put_offs, - k_put_dst + put_offs, - put_rank, - put_next_rank, - heap_bases, - mask=put_mask, - ) - iris.put( - v_put_src + put_offs, - v_put_dst + put_offs, - put_rank, - put_next_rank, - heap_bases, - mask=put_mask, - ) - return - - # Load Q block in native dtype (fp16/bf16) for efficient MFMA matrix multiply. - # Keeping inputs in fp16 uses the FP16 MFMA path (1307 TFLOPS on MI300X) - # instead of the FP32 path (~163 TFLOPS). + # Load Q once — stays in registers across all ring steps q_ptrs = Q + h * stride_qh + q_idx[:, None] * stride_qs + tl.arange(0, HEAD_DIM)[None, :] * stride_qd q = tl.load(q_ptrs, mask=q_mask[:, None], other=0.0) - # Load running statistics for this head and Q block - m_ptrs = M + h * stride_mh + q_idx * stride_ms - l_ptrs = L + h * stride_lh + q_idx * stride_ls - o_ptrs = O + h * stride_oh + q_idx[:, None] * stride_os + tl.arange(0, HEAD_DIM)[None, :] * stride_od - - m = tl.load(m_ptrs, mask=q_mask, other=-float("inf")) - l = tl.load(l_ptrs, mask=q_mask, other=0.0) - o = tl.load(o_ptrs, mask=q_mask[:, None], other=0.0).to(tl.float32) + # Initialize accumulators in registers (no HBM round-trip between steps) + m = tl.full([BLOCK_Q], value=-float("inf"), dtype=tl.float32) + l = tl.zeros([BLOCK_Q], dtype=tl.float32) + o = tl.zeros([BLOCK_Q, HEAD_DIM], dtype=tl.float32) - # Global Q positions for causal masking. - # Triton loads q_rank_start (a Python int) and q_idx (int32 arange) as int32. - # The maximum value is world_size * seq_q which fits comfortably in int32. + # Global Q positions for causal masking + q_rank_start = rank * seq_q q_global = q_rank_start + q_idx + q_global_max = q_rank_start + q_off + BLOCK_Q - 1 + + num_q_blks = tl.cdiv(seq_q, BLOCK_Q) + total_blocks = num_heads * num_q_blks + next_rank = (rank + 1) % world_size + n_put_elem = seq_kv * num_heads * HEAD_DIM - # Iterate over KV blocks d_idx = tl.arange(0, HEAD_DIM) - for kv_off in range(0, seq_kv, BLOCK_KV): - # Causal inner-loop skip: avoid loading K/V for fully-masked blocks. - # Once kv_rank_start + kv_off > q_global_max, all subsequent blocks - # are also masked (KV positions are monotonically increasing). - if CAUSAL: - do_kv_block = kv_rank_start + kv_off <= q_global_max - else: - do_kv_block = True - if do_kv_block: - kv_idx = kv_off + tl.arange(0, BLOCK_KV) - kv_mask = kv_idx < seq_kv + for step in range(world_size): + kv_rank = (rank - step) % world_size + kv_rank_start = kv_rank * seq_kv + do_put = step < world_size - 1 - # Load K transposed [HEAD_DIM, BLOCK_KV] and V [BLOCK_KV, HEAD_DIM] - # in native dtype (fp16/bf16) for efficient MFMA matrix multiply - k_ptrs = K + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks - v_ptrs = V + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd + # Select ping/pong buffer based on step parity + # Structured pointers for attention loads, flat pointers for iris.put + if step % 2 == 0: + K_cur = K_ping + V_cur = V_ping + K_cur_flat = K_ping_flat + V_cur_flat = V_ping_flat + K_dst_flat = K_pong_flat + V_dst_flat = V_pong_flat + else: + K_cur = K_pong + V_cur = V_pong + K_cur_flat = K_pong_flat + V_cur_flat = V_pong_flat + K_dst_flat = K_ping_flat + V_dst_flat = V_ping_flat + + # WAIT: if step > 0, spin on signal from previous rank + if step > 0: + while tl.atomic_cas(signal_flags + step, 0, 0, sem="acquire", scope="sys") != step: + pass + + # COMPUTE: flash attention on this KV chunk + # The causal early exit and inner-loop skip logic matches the original + # kernel — just nested differently to avoid mutable flags in Triton. + if CAUSAL: + # Program-level early exit: when all KV positions are beyond Q range, + # skip attention entirely (just do the put below). + if kv_rank_start <= q_global_max: + for kv_off in range(0, seq_kv, BLOCK_KV): + # Inner-loop skip: stop once KV positions exceed Q range + if kv_rank_start + kv_off <= q_global_max: + kv_idx = kv_off + tl.arange(0, BLOCK_KV) + kv_mask = kv_idx < seq_kv + + k_ptrs = K_cur + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks + v_ptrs = V_cur + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd + + k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0) + v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0) + + qk = tl.dot(q, k) * scale + + kv_global = kv_rank_start + kv_idx + causal_mask = kv_global[None, :] <= q_global[:, None] + qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) + + m_new = tl.maximum(m, tl.max(qk, axis=1)) + alpha = libdevice.fast_expf(m - m_new) + p = libdevice.fast_expf(qk - m_new[:, None]) + l = alpha * l + tl.sum(p, axis=1) + o = alpha[:, None] * o + tl.dot(p.to(v.dtype), v) + m = m_new + else: + for kv_off in range(0, seq_kv, BLOCK_KV): + kv_idx = kv_off + tl.arange(0, BLOCK_KV) + kv_mask = kv_idx < seq_kv - k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0) - v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0) + k_ptrs = K_cur + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks + v_ptrs = V_cur + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd - # QK^T: fp16/bf16 matmul with fp32 accumulation via MFMA - qk = tl.dot(q, k) * scale + k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0) + v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0) - # Apply padding mask and optional causal mask - if CAUSAL: - kv_global = kv_rank_start + kv_idx - causal_mask = kv_global[None, :] <= q_global[:, None] - qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) - else: + qk = tl.dot(q, k) * scale qk = tl.where(kv_mask[None, :], qk, -float("inf")) - # Online softmax accumulation (fp32) - m_new = tl.maximum(m, tl.max(qk, axis=1)) - alpha = libdevice.fast_expf(m - m_new) - p = libdevice.fast_expf(qk - m_new[:, None]) - l = alpha * l + tl.sum(p, axis=1) + m_new = tl.maximum(m, tl.max(qk, axis=1)) + alpha = libdevice.fast_expf(m - m_new) + p = libdevice.fast_expf(qk - m_new[:, None]) + l = alpha * l + tl.sum(p, axis=1) + o = alpha[:, None] * o + tl.dot(p.to(v.dtype), v) + m = m_new - # AV: cast softmax probs to native dtype for efficient MFMA - o = alpha[:, None] * o + tl.dot(p.to(v.dtype), v) - m = m_new - - # Write back updated statistics and output + # COMMUNICATE: fused put to next rank's dst buffer + if do_put: + pid_flat = h * num_q_blks + q_blk + put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) + put_mask = put_offs < n_put_elem + iris.put(K_cur_flat + put_offs, K_dst_flat + put_offs, + rank, next_rank, heap_bases, mask=put_mask) + iris.put(V_cur_flat + put_offs, V_dst_flat + put_offs, + rank, next_rank, heap_bases, mask=put_mask) + tl.debug_barrier() + + # Count completed CTAs; last one signals next rank + old = tl.atomic_add(put_done_counters + step, 1, sem="release", scope="gpu") + if old == total_blocks - 1: + iris.atomic_xchg(signal_flags + step + 1, step + 1, + rank, next_rank, heap_bases, + sem="release", scope="sys") + + # Store final O, M, L to HBM (once, not per-step) + o_ptrs = O + h * stride_oh + q_idx[:, None] * stride_os + tl.arange(0, HEAD_DIM)[None, :] * stride_od + m_ptrs = M_acc + h * stride_mh + q_idx * stride_ms + l_ptrs = L_acc + h * stride_lh + q_idx * stride_ls + tl.store(o_ptrs, o, mask=q_mask[:, None]) tl.store(m_ptrs, m, mask=q_mask) tl.store(l_ptrs, l, mask=q_mask) - tl.store(o_ptrs, o, mask=q_mask[:, None]) - - # --- Fused KV rotation: each thread block transfers a slice of K and V --- - # The attention grid has (num_heads * cdiv(seq_q, BLOCK_Q)) blocks. - # Each block transfers PUT_BLOCK = BLOCK_Q * HEAD_DIM elements, so the - # total coverage = num_heads * seq_q * HEAD_DIM = n_put_elem exactly. - if DO_PUT: - num_q_blks = tl.cdiv(seq_q, BLOCK_Q) - pid_flat = h * num_q_blks + q_blk - put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) - put_mask = put_offs < n_put_elem - iris.put(k_put_src + put_offs, k_put_dst + put_offs, put_rank, put_next_rank, heap_bases, mask=put_mask) - iris.put(v_put_src + put_offs, v_put_dst + put_offs, put_rank, put_next_rank, heap_bases, mask=put_mask) -def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None): +def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None, _signal_flags=None): """ Ring Attention forward pass. Each device holds a contiguous chunk of the sequence (Q, K, V). K and V - are rotated around the ring of devices using Iris ``put`` operations (via - ``_put_kv_kernel``), while Q remains local. At each step the local - flash-attention kernel accumulates partial results into O, M, L using - online softmax. + are rotated around the ring of devices using Iris ``put`` operations + fused into a persistent kernel, while Q remains local. The entire ring + loop runs inside a single kernel launch with point-to-point signal-flag + synchronization — no host-side barriers between steps. After all ``world_size`` steps, O is normalised by L to produce the output. - Communication uses two ping-pong symmetric buffers per tensor (K and V), - allocated on the Iris heap. After each push, ``shmem.barrier()`` ensures - all ranks have received the new data before proceeding to the next step. - Args: q (torch.Tensor): Query tensor, shape ``[seq_q, num_heads, head_dim]``. Lives on the local device's CUDA memory. @@ -262,9 +236,9 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) scale (float | None): Softmax scale factor. Defaults to ``head_dim ** -0.5``. _ping_pong_bufs (tuple | None): Optional pre-allocated ping-pong buffers - ``(k_ping, k_pong, v_ping, v_pong)`` from the symmetric heap. When - provided, no new heap allocation is performed (avoids heap churn on - repeated calls with the same tensor shape). + ``(k_ping, k_pong, v_ping, v_pong)`` from the symmetric heap. + _signal_flags (torch.Tensor | None): Optional pre-allocated signal flags + on the symmetric heap, shape ``[world_size]``, dtype ``int32``. Returns: torch.Tensor: Attention output, shape ``[seq_q, num_heads, head_dim]``, @@ -286,22 +260,15 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) input_dtype = q.dtype # Running accumulators in float32 for numerical stability - # O is the *unnormalized* weighted value sum O = torch.zeros(seq_q, num_heads, head_dim, dtype=torch.float32, device=q.device) - # M: running row-max (log domain), L: running normalisation denominator M = torch.full((num_heads, seq_q), fill_value=-float("inf"), dtype=torch.float32, device=q.device) L = torch.zeros(num_heads, seq_q, dtype=torch.float32, device=q.device) - # Choose block sizes; keep them as powers of 2 BLOCK_Q = 64 BLOCK_KV = 64 - HEAD_DIM = head_dim # already validated as power of 2 + HEAD_DIM = head_dim - # Allocate two symmetric ping-pong buffers per tensor on the Iris heap. - # The destination buffer of each iris.put must be on the symmetric heap so - # that the pointer can be translated to the remote rank's address space. - # If the caller supplies pre-allocated buffers (e.g. from RingAttention), - # reuse them to avoid heap churn on repeated forward passes. + # Allocate ping-pong buffers on symmetric heap if _ping_pong_bufs is not None: k_ping, k_pong, v_ping, v_pong = _ping_pong_bufs else: @@ -310,90 +277,64 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None) v_ping = shmem.empty(v.shape, dtype=v.dtype) v_pong = shmem.empty(v.shape, dtype=v.dtype) - # Copy initial K/V into the ping buffers, then sync so every rank has its - # own initial chunk ready before the first rotation. + # Allocate signal flags on symmetric heap (one per step, indexed 1..world_size-1) + # and local completion counters (one per step) + if _signal_flags is not None: + signal_flags = _signal_flags + else: + signal_flags = shmem.zeros((world_size,), dtype=torch.int32) + # Reset signal flags to 0 for this call + signal_flags.zero_() + put_done_counters = torch.zeros(world_size, dtype=torch.int32, device=q.device) + + # Copy initial K/V into ping buffers, then sync so every rank has its + # own initial chunk ready before the persistent kernel launches. k_ping.copy_(k.contiguous()) v_ping.copy_(v.contiguous()) - shmem.barrier() - - k_cur, k_recv = k_ping, k_pong - v_cur, v_recv = v_ping, v_pong - - next_rank = (rank + 1) % world_size + shmem.barrier() # only host barrier — ensures all ranks have initial data FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM - n_k = k_cur.numel() heap_bases = shmem.get_heap_bases() - for step in range(world_size): - kv_rank = (rank - step) % world_size - do_put = step < world_size - 1 - - # The kernel handles causal masking internally with two optimizations: - # 1. Program-level early exit: when all KV positions are beyond the - # Q block's range, skip attention entirely (just do the put). - # 2. Inner-loop skip: stop iterating KV blocks once positions exceed - # the Q range, avoiding useless loads and masked matmuls. - # All ranks still launch the kernel at every step (no barrier imbalance). - q_rank_start = rank * seq_q - kv_rank_start = kv_rank * seq_kv - grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) - _ring_attn_fwd_kernel[grid]( - q, - k_cur, - v_cur, - O, - M, - L, - q.stride(0), - q.stride(1), - q.stride(2), - k_cur.stride(0), - k_cur.stride(1), - k_cur.stride(2), - v_cur.stride(0), - v_cur.stride(1), - v_cur.stride(2), - O.stride(0), - O.stride(1), - O.stride(2), - M.stride(0), - M.stride(1), - L.stride(0), - L.stride(1), - seq_q, - seq_kv, - q_rank_start, - kv_rank_start, - scale, - # fused put params - k_cur.view(-1), - k_recv.view(-1), - v_cur.view(-1), - v_recv.view(-1), - n_k, - put_rank=rank, - put_next_rank=next_rank, - heap_bases=heap_bases, - CAUSAL=causal, - BLOCK_Q=BLOCK_Q, - BLOCK_KV=BLOCK_KV, - HEAD_DIM=HEAD_DIM, - DO_PUT=do_put, - PUT_BLOCK=FUSED_PUT_BLOCK, - num_warps=4, - num_stages=2, - ) - - # Global barrier ensures all ranks have received data, then swap. - if do_put: - torch.cuda.synchronize() - shmem.barrier() - k_cur, k_recv = k_recv, k_cur - v_cur, v_recv = v_recv, v_cur + # Single kernel launch for ALL ring steps + grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) + _ring_attn_persistent_kernel[grid]( + q, + k_ping, k_pong, + v_ping, v_pong, + O, M, L, + # flat pointers for iris.put + k_ping.view(-1), k_pong.view(-1), + v_ping.view(-1), v_pong.view(-1), + # Q strides + q.stride(0), q.stride(1), q.stride(2), + # O strides + O.stride(0), O.stride(1), O.stride(2), + # K strides (ping and pong have same strides) + k_ping.stride(0), k_ping.stride(1), k_ping.stride(2), + # V strides + v_ping.stride(0), v_ping.stride(1), v_ping.stride(2), + # M, L strides + M.stride(0), M.stride(1), + L.stride(0), L.stride(1), + # sizes + seq_q, seq_kv, num_heads, + # signal infrastructure + signal_flags, put_done_counters, + heap_bases, + scale, + rank=rank, + world_size=world_size, + CAUSAL=causal, + BLOCK_Q=BLOCK_Q, + BLOCK_KV=BLOCK_KV, + HEAD_DIM=HEAD_DIM, + PUT_BLOCK=FUSED_PUT_BLOCK, + num_warps=4, + num_stages=2, + ) # Normalize: output = O / L, where L is the softmax denominator - # L: [num_heads, seq_q] → [seq_q, num_heads, 1] for broadcasting L_expanded = L.permute(1, 0).unsqueeze(-1) # [seq_q, num_heads, 1] output = O / L_expanded diff --git a/examples/32_ring_attention/ring_attention_layer.py b/examples/32_ring_attention/ring_attention_layer.py index 7828c2d0..1a6f0bd9 100644 --- a/examples/32_ring_attention/ring_attention_layer.py +++ b/examples/32_ring_attention/ring_attention_layer.py @@ -58,6 +58,9 @@ def __init__(self, shmem, num_heads: int, head_dim: int, causal: bool = True, sc self._buf_cache: dict[ tuple[torch.Size, torch.dtype], tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor] ] = {} + # Signal flags on the symmetric heap for device-side synchronization. + # Allocated lazily on first forward call (needs world_size from shmem). + self._signal_flags: torch.Tensor | None = None def forward(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Tensor: """ @@ -86,4 +89,13 @@ def forward(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Te ) ping_pong = self._buf_cache[buf_key] - return ring_attn_fwd(q, k, v, self.shmem, causal=self.causal, scale=self.scale, _ping_pong_bufs=ping_pong) + # Lazily allocate signal flags on the symmetric heap. + if self._signal_flags is None: + world_size = self.shmem.get_num_ranks() + self._signal_flags = self.shmem.zeros((world_size,), dtype=torch.int32) + + return ring_attn_fwd( + q, k, v, self.shmem, + causal=self.causal, scale=self.scale, + _ping_pong_bufs=ping_pong, _signal_flags=self._signal_flags, + ) From dc7b345fe40eeb99017d79aeade510a305536978 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 18:44:59 +0000 Subject: [PATCH 18/24] Apply Ruff auto-fixes --- .../32_ring_attention/profile_ring_attn.py | 34 ++++++++--- .../ring_attention_kernels.py | 57 ++++++++++++------- .../32_ring_attention/ring_attention_layer.py | 11 +++- 3 files changed, 70 insertions(+), 32 deletions(-) diff --git a/examples/32_ring_attention/profile_ring_attn.py b/examples/32_ring_attention/profile_ring_attn.py index d1efcae9..02b8af4f 100644 --- a/examples/32_ring_attention/profile_ring_attn.py +++ b/examples/32_ring_attention/profile_ring_attn.py @@ -33,8 +33,7 @@ from ring_attention_kernels import ring_attn_fwd # noqa: E402 -def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, - _ping_pong_bufs=None, _signal_flags=None): +def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None, _signal_flags=None): """ Instrumented ring_attn_fwd that measures end-to-end kernel time. @@ -52,9 +51,14 @@ def _profiled_ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, kernel_start.record() output = ring_attn_fwd( - q, k, v, shmem, - causal=causal, scale=scale, - _ping_pong_bufs=_ping_pong_bufs, _signal_flags=_signal_flags, + q, + k, + v, + shmem, + causal=causal, + scale=scale, + _ping_pong_bufs=_ping_pong_bufs, + _signal_flags=_signal_flags, ) kernel_end.record() @@ -114,8 +118,14 @@ def _profile_worker(rank, world_size, init_url, cfg, results_file): # Warmup for _ in range(num_warmup): out, _ = _profiled_ring_attn_fwd( - q, k, v, shmem, causal=causal, scale=scale, - _ping_pong_bufs=bufs, _signal_flags=signal_flags, + q, + k, + v, + shmem, + causal=causal, + scale=scale, + _ping_pong_bufs=bufs, + _signal_flags=signal_flags, ) torch.cuda.synchronize() shmem.barrier() @@ -124,8 +134,14 @@ def _profile_worker(rank, world_size, init_url, cfg, results_file): all_iter_timings = [] for it in range(num_iters): out, timing = _profiled_ring_attn_fwd( - q, k, v, shmem, causal=causal, scale=scale, - _ping_pong_bufs=bufs, _signal_flags=signal_flags, + q, + k, + v, + shmem, + causal=causal, + scale=scale, + _ping_pong_bufs=bufs, + _signal_flags=signal_flags, ) all_iter_timings.append(timing) torch.cuda.synchronize() diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 9ec96f0e..77560420 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -190,18 +190,16 @@ def _ring_attn_persistent_kernel( pid_flat = h * num_q_blks + q_blk put_offs = pid_flat * PUT_BLOCK + tl.arange(0, PUT_BLOCK) put_mask = put_offs < n_put_elem - iris.put(K_cur_flat + put_offs, K_dst_flat + put_offs, - rank, next_rank, heap_bases, mask=put_mask) - iris.put(V_cur_flat + put_offs, V_dst_flat + put_offs, - rank, next_rank, heap_bases, mask=put_mask) + iris.put(K_cur_flat + put_offs, K_dst_flat + put_offs, rank, next_rank, heap_bases, mask=put_mask) + iris.put(V_cur_flat + put_offs, V_dst_flat + put_offs, rank, next_rank, heap_bases, mask=put_mask) tl.debug_barrier() # Count completed CTAs; last one signals next rank old = tl.atomic_add(put_done_counters + step, 1, sem="release", scope="gpu") if old == total_blocks - 1: - iris.atomic_xchg(signal_flags + step + 1, step + 1, - rank, next_rank, heap_bases, - sem="release", scope="sys") + iris.atomic_xchg( + signal_flags + step + 1, step + 1, rank, next_rank, heap_bases, sem="release", scope="sys" + ) # Store final O, M, L to HBM (once, not per-step) o_ptrs = O + h * stride_oh + q_idx[:, None] * stride_os + tl.arange(0, HEAD_DIM)[None, :] * stride_od @@ -300,27 +298,46 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None, grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) _ring_attn_persistent_kernel[grid]( q, - k_ping, k_pong, - v_ping, v_pong, - O, M, L, + k_ping, + k_pong, + v_ping, + v_pong, + O, + M, + L, # flat pointers for iris.put - k_ping.view(-1), k_pong.view(-1), - v_ping.view(-1), v_pong.view(-1), + k_ping.view(-1), + k_pong.view(-1), + v_ping.view(-1), + v_pong.view(-1), # Q strides - q.stride(0), q.stride(1), q.stride(2), + q.stride(0), + q.stride(1), + q.stride(2), # O strides - O.stride(0), O.stride(1), O.stride(2), + O.stride(0), + O.stride(1), + O.stride(2), # K strides (ping and pong have same strides) - k_ping.stride(0), k_ping.stride(1), k_ping.stride(2), + k_ping.stride(0), + k_ping.stride(1), + k_ping.stride(2), # V strides - v_ping.stride(0), v_ping.stride(1), v_ping.stride(2), + v_ping.stride(0), + v_ping.stride(1), + v_ping.stride(2), # M, L strides - M.stride(0), M.stride(1), - L.stride(0), L.stride(1), + M.stride(0), + M.stride(1), + L.stride(0), + L.stride(1), # sizes - seq_q, seq_kv, num_heads, + seq_q, + seq_kv, + num_heads, # signal infrastructure - signal_flags, put_done_counters, + signal_flags, + put_done_counters, heap_bases, scale, rank=rank, diff --git a/examples/32_ring_attention/ring_attention_layer.py b/examples/32_ring_attention/ring_attention_layer.py index 1a6f0bd9..430103ae 100644 --- a/examples/32_ring_attention/ring_attention_layer.py +++ b/examples/32_ring_attention/ring_attention_layer.py @@ -95,7 +95,12 @@ def forward(self, q: torch.Tensor, k: torch.Tensor, v: torch.Tensor) -> torch.Te self._signal_flags = self.shmem.zeros((world_size,), dtype=torch.int32) return ring_attn_fwd( - q, k, v, self.shmem, - causal=self.causal, scale=self.scale, - _ping_pong_bufs=ping_pong, _signal_flags=self._signal_flags, + q, + k, + v, + self.shmem, + causal=self.causal, + scale=self.scale, + _ping_pong_bufs=ping_pong, + _signal_flags=self._signal_flags, ) From 8b9ba4c3545ac061a2eb07021f19f4b3751a27d0 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:01:31 -0700 Subject: [PATCH 19/24] =?UTF-8?q?ring=5Fattention:=20fix=20put=20visibilit?= =?UTF-8?q?y=20=E2=80=94=20use=20sys=20scope=20on=20completion=20counter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The completion counter must use scope="sys" to ensure each CTA's remote puts (via iris.put) are visible system-wide before the counter increment is observed by the last CTA. With scope="gpu", the puts may still be in-flight to the remote device when the counter reaches total_blocks-1, causing the signal to fire before all data has landed. Co-Authored-By: Claude Opus 4.6 --- examples/32_ring_attention/ring_attention_kernels.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 77560420..3297890a 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -194,8 +194,10 @@ def _ring_attn_persistent_kernel( iris.put(V_cur_flat + put_offs, V_dst_flat + put_offs, rank, next_rank, heap_bases, mask=put_mask) tl.debug_barrier() - # Count completed CTAs; last one signals next rank - old = tl.atomic_add(put_done_counters + step, 1, sem="release", scope="gpu") + # Count completed CTAs; last one signals next rank. + # scope="sys" on the counter ensures each CTA's remote puts are + # visible system-wide before the counter increment is observed. + old = tl.atomic_add(put_done_counters + step, 1, sem="release", scope="sys") if old == total_blocks - 1: iris.atomic_xchg( signal_flags + step + 1, step + 1, rank, next_rank, heap_bases, sem="release", scope="sys" From 929e90cb43383fac4bee9096872e3ba9d7987657 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:20:56 -0700 Subject: [PATCH 20/24] ring_attention: simplify causal path to match original kernel structure Use a single for-loop with conditional body instead of nested if/for/if. This matches the original kernel's exact causal skip pattern and avoids potential Triton compilation issues with deeply nested control flow. Co-Authored-By: Claude Opus 4.6 --- .../ring_attention_kernels.py | 49 ++++++------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 3297890a..67dd1d45 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -134,38 +134,15 @@ def _ring_attn_persistent_kernel( pass # COMPUTE: flash attention on this KV chunk - # The causal early exit and inner-loop skip logic matches the original - # kernel — just nested differently to avoid mutable flags in Triton. - if CAUSAL: - # Program-level early exit: when all KV positions are beyond Q range, - # skip attention entirely (just do the put below). - if kv_rank_start <= q_global_max: - for kv_off in range(0, seq_kv, BLOCK_KV): - # Inner-loop skip: stop once KV positions exceed Q range - if kv_rank_start + kv_off <= q_global_max: - kv_idx = kv_off + tl.arange(0, BLOCK_KV) - kv_mask = kv_idx < seq_kv - - k_ptrs = K_cur + h * stride_kh + d_idx[:, None] * stride_kd + kv_idx[None, :] * stride_ks - v_ptrs = V_cur + h * stride_vh + kv_idx[:, None] * stride_vs + d_idx[None, :] * stride_vd - - k = tl.load(k_ptrs, mask=kv_mask[None, :], other=0.0) - v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0) - - qk = tl.dot(q, k) * scale - - kv_global = kv_rank_start + kv_idx - causal_mask = kv_global[None, :] <= q_global[:, None] - qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) - - m_new = tl.maximum(m, tl.max(qk, axis=1)) - alpha = libdevice.fast_expf(m - m_new) - p = libdevice.fast_expf(qk - m_new[:, None]) - l = alpha * l + tl.sum(p, axis=1) - o = alpha[:, None] * o + tl.dot(p.to(v.dtype), v) - m = m_new - else: - for kv_off in range(0, seq_kv, BLOCK_KV): + # Uses the same structure as the original kernel: iterate over KV blocks + # with causal skip logic inside the loop body. + for kv_off in range(0, seq_kv, BLOCK_KV): + if CAUSAL: + do_kv_block = kv_rank_start + kv_off <= q_global_max + else: + do_kv_block = True + + if do_kv_block: kv_idx = kv_off + tl.arange(0, BLOCK_KV) kv_mask = kv_idx < seq_kv @@ -176,7 +153,13 @@ def _ring_attn_persistent_kernel( v = tl.load(v_ptrs, mask=kv_mask[:, None], other=0.0) qk = tl.dot(q, k) * scale - qk = tl.where(kv_mask[None, :], qk, -float("inf")) + + if CAUSAL: + kv_global = kv_rank_start + kv_idx + causal_mask = kv_global[None, :] <= q_global[:, None] + qk = tl.where(causal_mask & kv_mask[None, :], qk, -float("inf")) + else: + qk = tl.where(kv_mask[None, :], qk, -float("inf")) m_new = tl.maximum(m, tl.max(qk, axis=1)) alpha = libdevice.fast_expf(m - m_new) From cf498853f321efefb6eb13038210563623885a05 Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:24:08 -0700 Subject: [PATCH 21/24] DEBUG: disable inner-loop skip to test causal mask Co-Authored-By: Claude Opus 4.6 --- examples/32_ring_attention/ring_attention_kernels.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 67dd1d45..72625321 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -134,14 +134,8 @@ def _ring_attn_persistent_kernel( pass # COMPUTE: flash attention on this KV chunk - # Uses the same structure as the original kernel: iterate over KV blocks - # with causal skip logic inside the loop body. for kv_off in range(0, seq_kv, BLOCK_KV): - if CAUSAL: - do_kv_block = kv_rank_start + kv_off <= q_global_max - else: - do_kv_block = True - + do_kv_block = True if do_kv_block: kv_idx = kv_off + tl.arange(0, BLOCK_KV) kv_mask = kv_idx < seq_kv From 7eb6ab0a8c185c049ee6e95de30a87785ed1db5c Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:28:46 -0700 Subject: [PATCH 22/24] fix: pass pre-computed kv_rank_starts array to avoid in-kernel constexpr * runtime The causal mask computation requires kv_rank_start = kv_rank * seq_kv, where kv_rank depends on the loop step. Previously this was computed inside the kernel as (rank - step) % world_size * seq_kv, mixing constexpr (rank, world_size) with runtime (seq_kv) values. This could be miscompiled by Triton in the unrolled loop. Pre-compute the array in Python and load it via tl.load instead. Co-Authored-By: Claude Opus 4.6 --- .../32_ring_attention/ring_attention_kernels.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 72625321..b7d049db 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -58,6 +58,8 @@ def _ring_attn_persistent_kernel( signal_flags, put_done_counters, heap_bases, + # pre-computed kv_rank_start values for each step, shape [world_size] + kv_rank_starts, scale, rank: tl.constexpr, world_size: tl.constexpr, @@ -107,8 +109,7 @@ def _ring_attn_persistent_kernel( d_idx = tl.arange(0, HEAD_DIM) for step in range(world_size): - kv_rank = (rank - step) % world_size - kv_rank_start = kv_rank * seq_kv + kv_rank_start = tl.load(kv_rank_starts + step) do_put = step < world_size - 1 # Select ping/pong buffer based on step parity @@ -273,6 +274,12 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None, FUSED_PUT_BLOCK = BLOCK_Q * HEAD_DIM heap_bases = shmem.get_heap_bases() + # Pre-compute kv_rank_start for each step (avoids in-kernel constexpr * runtime) + kv_rank_starts = torch.tensor( + [(rank - step) % world_size * seq_kv for step in range(world_size)], + dtype=torch.int32, device=q.device, + ) + # Single kernel launch for ALL ring steps grid = (num_heads, triton.cdiv(seq_q, BLOCK_Q)) _ring_attn_persistent_kernel[grid]( @@ -318,6 +325,8 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None, signal_flags, put_done_counters, heap_bases, + # pre-computed kv_rank_start values + kv_rank_starts, scale, rank=rank, world_size=world_size, From 6709eb0a91a8711b4a0c81c6a25c0bced5bd63f5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 19:29:52 +0000 Subject: [PATCH 23/24] Apply Ruff auto-fixes --- examples/32_ring_attention/ring_attention_kernels.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index b7d049db..0142b015 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -277,7 +277,8 @@ def ring_attn_fwd(q, k, v, shmem, causal=True, scale=None, _ping_pong_bufs=None, # Pre-compute kv_rank_start for each step (avoids in-kernel constexpr * runtime) kv_rank_starts = torch.tensor( [(rank - step) % world_size * seq_kv for step in range(world_size)], - dtype=torch.int32, device=q.device, + dtype=torch.int32, + device=q.device, ) # Single kernel launch for ALL ring steps From a6f701e0d2ce2ed02f9af6ca9111486b6eaec47f Mon Sep 17 00:00:00 2001 From: Muhammad Awad <112003944+mawad-amd@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:31:19 -0700 Subject: [PATCH 24/24] re-enable causal early-exit optimization for KV blocks Restore the inner-loop causal skip that was disabled during debugging. When CAUSAL=True, skip KV blocks whose starting global position is beyond the Q block's maximum position, avoiding unnecessary loads and computation. Co-Authored-By: Claude Opus 4.6 --- examples/32_ring_attention/ring_attention_kernels.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/32_ring_attention/ring_attention_kernels.py b/examples/32_ring_attention/ring_attention_kernels.py index 0142b015..ae99adf9 100644 --- a/examples/32_ring_attention/ring_attention_kernels.py +++ b/examples/32_ring_attention/ring_attention_kernels.py @@ -136,7 +136,12 @@ def _ring_attn_persistent_kernel( # COMPUTE: flash attention on this KV chunk for kv_off in range(0, seq_kv, BLOCK_KV): - do_kv_block = True + # Causal early-exit: skip KV blocks entirely after Q's range + if CAUSAL: + kv_block_start = kv_rank_start + kv_off + do_kv_block = kv_block_start <= q_global_max + else: + do_kv_block = True if do_kv_block: kv_idx = kv_off + tl.arange(0, BLOCK_KV) kv_mask = kv_idx < seq_kv