ByteDance-Seed / ByteDance-Seed/Triton-distributed

[Bug] `symm_at` fails with `constexpr_type` when buffer parameter is None - "'constexpr_type' object has no attribute 'is_block'"

Open
#152 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.5k
Forks
172
PR merge metrics
No merged PRs in 30d

Description

## Bug Description

When running `test_ep_moe_fused.py`, the Triton kernel compilation fails with the error:

AttributeError: 'constexpr_type' object has no attribute 'is_block'

This occurs in `distributed_ops.py` at the `symm_at` function when the `ptr` parameter is a `constexpr` type (e.g., when `None` is passed as a kernel argument).

## Environment

- **Triton-distributed version**: main branch (commit `4caaa89`)
- **Triton version**: 3.4.0 (from `3rdparty/triton`, commit `cea556dfc`)
- **GPU**: 8x NVIDIA H20
- **CUDA**: 12.8
- **Python**: 3.10
- **PyTorch**: 2.x
- **NVSHMEM**: nvidia-nvshmem-cu12 3.3.9

## Steps to Reproduce

```bash
# Set NVSHMEM memory size
export NVSHMEM_SYMMETRIC_SIZE=10000000000

# Run the test
bash ./scripts/launch.sh python/triton_dist/test/nvidia/test_ep_moe_fused.py \
--ntokens 1024 \
--num_experts 16 \
--warmup 1 \
--iters 1

Contributor guide

Open the contributing guide

Research direction

Start with python/triton_dist/.../distributed_ops.py and inspect symm_at, especially how it handles ptr values passed as constexpr when None is supplied. Reproduce with python/triton_dist/test/nvidia/test_ep_moe_fused.py using the documented launch command; done means kernel compilation no longer raises the is_block AttributeError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
compilers, distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.