Fix Mega MoE task info slot release ordering - #441
Conversation
|
|
||
| CUTLASS_DEVICE void release_task_info() const { | ||
| // Complete metadata reads before the scheduler can overwrite this slot. | ||
| ptx::fence_acq_rel_cta(); |
There was a problem hiding this comment.
🔵 suggestion: 非阻塞建议:非 leader CTA 的消费者与位于 CTA 0 的调度 warp 是跨 CTA 同步,严格按 PTX 内存模型应使用 .cluster scope(fence.acq_rel.cluster 或 mbarrier.arrive.release.cluster.shared::cluster)。实际硬件上 fence.acq_rel.cta 已足以让本线程未完成的 shared 加载在 arrive 前完成,因此行为安全且开销更低;建议在注释中补充说明这一取舍(为何选 .cta 而非 .cluster),或在 ld_st.cuh 中同时提供 fence_acq_rel_cluster() 变体以备后续需要。
🤖 v5
🤖 ds-review-bot Code Reviewv6v5该提交为 Mega MoE 调度器的 task info 槽位释放路径补上了内存序保证。原实现中,消费者线程在 v4The MR fixes a real producer/consumer race on the double-buffered Files reviewed: 2 |
…ring (#16) * Fix a race condition where in-flight tensormaps are updated in-place (deepseek-ai#343) * Public release 26/07 (deepseek-ai#377) * Public Release 26/09 (deepseek-ai#432) * Public release 26/09 * Update News * Fix Mega MoE task info slot release ordering (deepseek-ai#441) --------- Co-authored-by: Ivan Komarov <Ivan.Komarov@dfyz.info> Co-authored-by: Pengle Zhang <53843527+guyan364@users.noreply.github.com> Co-authored-by: Zhean Xu <94977922+zheanxu@users.noreply.github.com>
No description provided.