---
id: pr-flashinfer-2630
repo: flashinfer-ai/flashinfer
pr: 2630
title: Add parallel attention
author: xueweilnvidia
date: '2026-04-20'
url: https://github.com/flashinfer-ai/flashinfer/pull/2630
source_category: upstream-code
architectures:
- sm90
tags:
- attention_kv
- hopper
- scheduler_autotune
techniques:
- async-copy
- autotuning
- tile-scheduling
hardware_features:
- hopper
- tma
kernel_types:
- attention
- scheduler
- softmax
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: ce02358d2b37ee7c86fc505da813497d6c596b6c
inclusion_reason: Preserve page/KV/layout and plan-run contracts; profile memory traffic separately from math utilization.
changed_paths:
- flashinfer/parallel_attention/__init__.py
- flashinfer/parallel_attention/attention_ops.py
- flashinfer/parallel_attention/parallel_attention.py
- flashinfer/parallel_attention/parallel_config.py
- flashinfer/parallel_attention/parallel_wrapper.py
- flashinfer/parallel_attention/utils.py
- scripts/task_test_multi_gpu_comm_kernels.sh
- tests/attention/test_parallel_attention.py
artifact_dir: evidence/pull-bundles/flashinfer/gh-2630
head_ref_oid: 7f78a812094541889a25dfe7cc5d2f721ecac781
---
# Add parallel attention

- Repository: `flashinfer-ai/flashinfer`
- PR: [2630](https://github.com/flashinfer-ai/flashinfer/pull/2630)
- Decision: `Preserve page/KV/layout and plan-run contracts; profile memory traffic separately from math utilization.`
- Reason: Preserve page/KV/layout and plan-run contracts; profile memory traffic separately from math utilization.

## Changed Paths

- `flashinfer/parallel_attention/__init__.py`
- `flashinfer/parallel_attention/attention_ops.py`
- `flashinfer/parallel_attention/parallel_attention.py`
- `flashinfer/parallel_attention/parallel_config.py`
- `flashinfer/parallel_attention/parallel_wrapper.py`
- `flashinfer/parallel_attention/utils.py`
- `scripts/task_test_multi_gpu_comm_kernels.sh`
- `tests/attention/test_parallel_attention.py`

## Evidence Bundle

`evidence/pull-bundles/flashinfer/gh-2630`
