[PR #737] fix: st.bulk support for size operand with 32-bit length is introduce… #742

Open
opened 2026-10-27 21:05:48 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/DeepEP/pull/737
Author: @cxxlink
Created: 8/25/2026
Status: 🔄 Open

Base: main ← Head: main


📝 Commits (1)

  • 554e516 fix: st.bulk support for size operand with 32-bit length is introduced in PTX ISA version 9.0

📊 Changes

1 file changed (+4 additions, -0 deletions)

View changed files

📝 deep_ep/include/deep_ep/common/ptx.cuh (+4 -0)

📄 Description

Problem

Using CUDA 12.9 and ARCH sm_100, compile failed.

ptxas /tmp/tmpxft_0038d88e_00000000-6_a.ptx, line 27; error   : Arguments mismatch for instruction 'st.bulk'
ptxas fatal   : Ptx assembly aborted due to errors

Root cause

image

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html?highlight=st%2520bulk%2520weak%2520shared%25203A%25203Acta#data-movement-and-conversion-instructions-st-bulk

image

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#release-notes

Fix

Use CUDA_VERSION to distinguish which type to use.

        asm volatile("st.bulk.weak.shared::cta [%0], %1, 0;\n" ::
                     "r"(static_cast<uint32_t>(__cvta_generic_to_shared(smem_ptr))),
#if defined(CUDART_VERSION) and CUDART_VERSION >= 13000
                     "r"(kNumBytes)
#else
                     "l"(static_cast<uint64_t>(kNumBytes))
#endif
                     : "memory");

Validation

Compile pass.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/deepseek-ai/DeepEP/pull/737 **Author:** [@cxxlink](https://github.com/cxxlink) **Created:** 8/25/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (1) - [`554e516`](https://github.com/deepseek-ai/DeepEP/commit/554e516ca4de31204d0af896d2746ffcfe7682ce) fix: st.bulk support for size operand with 32-bit length is introduced in PTX ISA version 9.0 ### 📊 Changes **1 file changed** (+4 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `deep_ep/include/deep_ep/common/ptx.cuh` (+4 -0) </details> ### 📄 Description # Problem Using CUDA 12.9 and ARCH sm_100, compile failed. ``` ptxas /tmp/tmpxft_0038d88e_00000000-6_a.ptx, line 27; error : Arguments mismatch for instruction 'st.bulk' ptxas fatal : Ptx assembly aborted due to errors ``` # Root cause <img width="622" height="183" alt="image" src="https://github.com/user-attachments/assets/566fe18f-3bcb-4e07-b9d0-b72f130d2f49" /> https://docs.nvidia.com/cuda/parallel-thread-execution/index.html?highlight=st%2520bulk%2520weak%2520shared%25203A%25203Acta#data-movement-and-conversion-instructions-st-bulk <img width="1097" height="321" alt="image" src="https://github.com/user-attachments/assets/61b6fd9a-ba02-4589-84f5-1bfab452a876" /> https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#release-notes # Fix Use **CUDA_VERSION** to distinguish which type to use. ```C++ asm volatile("st.bulk.weak.shared::cta [%0], %1, 0;\n" :: "r"(static_cast<uint32_t>(__cvta_generic_to_shared(smem_ptr))), #if defined(CUDART_VERSION) and CUDART_VERSION >= 13000 "r"(kNumBytes) #else "l"(static_cast<uint64_t>(kNumBytes)) #endif : "memory"); ``` # Validation Compile pass. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepEP#742
No description provided.