fix: refine TCGEN05 architecture guards - #2790
Conversation
|
👋 Hi! Thank you for contributing to the TileLang project. Please remember to run We appreciate you taking this step! Our team will review your contribution, and we look forward to your awesome work! 🚀 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughTCGEN05 CUDA support now uses architecture-based compile-time guards and dependent assertions instead of emitted ChangesTCGEN05 architecture gating
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Follow-up to #2781.
TL_CUDA_ARCH_TCGEN05_ENABLED, derived from CUDA architecture feature and family macros for SM100/101/103/110.require_tcgen05*calls and the redundanttcgen_05.hrequirement for MMA/load/store paths.Guarded entry points
tcgen05mma_ss,tcgen05mma_ts,tcgen05mma_ws_ss,tcgen05mma_blockscaled_sstcgen05_ld_32dp32bNx,tcgen05_ld_32dp64bNx,tcgen05_ld_32dp128bNx,tcgen05_ld_32dp256bNxtcgen05_st_32dp32bNx,tcgen05_st_32dp64bNx,tcgen05_st_32dp128bNx,tcgen05_st_32dp256bNxtmem_allocate,tmem_deallocate,tcgen05_before_thread_sync,tcgen05_after_thread_sync,tcgen05_mma_arrive,tcgen05_cpAll diagnostics name the concrete device function rather than a
require_*helper or wildcard name.Validation
ninja -C buildpytest -q testing/python/issue/test_tilelang_issue_2602.py(17 passed)sm_100fTCGEN05 compile checkSummary
TL_CUDA_ARCH_TCGEN05_ENABLEDguard.tl::tcgen05mma_*public wrappers that compile on supported targets and otherwise fail with dependentstatic_assertdiagnostics.require_tcgen05*calls and eliminated redundant TCGEN05 header requirements for MMA/load/store paths.TL_CUDA_ARCH_TCGEN05_ENABLEDinstead of prior CuTe/CUTE_ARCH_*style configuration.TL_CUDA_ARCH_TCGEN05_ENABLED, with unsupported-target fallbacks guarded by dependentstatic_assert.testing/python/cuda/test_cuda_intrinsic_arch_guards.pyto validate rejection diagnostics for unsupported architectures and ensure generated kernel sources do not contain"require_tcgen05".testing/python/issue/test_tilelang_issue_2602.pyexpectations for the new tcgen05mma/tmeme load/store diagnostic strings.testing/python/issue/test_tilelang_issue_2504.pymodule.Validation included a successful build, 17 passing issue tests, and an
sm_100fTCGEN05 compile check.C++ style / lint notes
docs/developer_guide/cpp_style.md.