---
id: pr-flashinfer-2960
repo: flashinfer-ai/flashinfer
pr: 2960
title: Update NVSHMEM interface to use NVSHMEM4Py instead of custom bindings
author: benhg
date: '2026-04-06'
url: https://github.com/flashinfer-ai/flashinfer/pull/2960
source_category: upstream-code
architectures:
- sm100
tags:
- gemm
techniques: []
hardware_features: []
kernel_types: []
languages:
- cuda-cpp
- python
captured_at: '2026-04-27'
status: merged
merge_sha: 19b825d36134e350ce63faa6e3a549881a58e423
inclusion_reason: kernel file changes
changed_paths:
- csrc/nvshmem_binding.cu
- docker/install/install_python_packages.sh
- flashinfer-jit-cache/pyproject.toml
- flashinfer/aot.py
- flashinfer/comm/nvshmem.py
- flashinfer/comm/nvshmem_allreduce.py
- flashinfer/jit/__init__.py
- flashinfer/jit/comm.py
- flashinfer/jit/env.py
- scripts/task_run_unit_tests.sh
- scripts/task_test_single_node_comm_kernels.sh
- tests/comm/test_nvshmem.py
head_ref_oid: c1ce46428fb3a1819516b43b036b19aca8deb815
artifact_dir: evidence/pull-bundles/flashinfer/gh-2960
---
# Update NVSHMEM interface to use NVSHMEM4Py instead of custom bindings

- Repository: `flashinfer-ai/flashinfer`
- PR: [2960](https://github.com/flashinfer-ai/flashinfer/pull/2960)
- Decision: `kernel file changes`
- Reason: kernel file changes

## Changed Paths

- `csrc/nvshmem_binding.cu`
- `docker/install/install_python_packages.sh`
- `flashinfer-jit-cache/pyproject.toml`
- `flashinfer/aot.py`
- `flashinfer/comm/nvshmem.py`
- `flashinfer/comm/nvshmem_allreduce.py`
- `flashinfer/jit/__init__.py`
- `flashinfer/jit/comm.py`
- `flashinfer/jit/env.py`
- `scripts/task_run_unit_tests.sh`
- `scripts/task_test_single_node_comm_kernels.sh`
- `tests/comm/test_nvshmem.py`

## Evidence Bundle

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