Map CUDNN_KNOB_TYPE_TILE_CGA so knob queries and explicit plans round-trip - #729
Map CUDNN_KNOB_TYPE_TILE_CGA so knob queries and explicit plans round-trip#729brandonfzhang wants to merge 1 commit into
Conversation
…-trip get_knobs_for_engine() converts backend knob types into KnobType_t; a knob the mapping does not carry arrives as NOT_SET, and passing that knob back through create_execution_plan() fails convert_to_backend_knob_type with CUDNN_STATUS_INVALID_VALUE for every knob combination on that engine. CUDNN_KNOB_TYPE_TILE_CGA (id 26) is deprecated in the backend enum but some engines still report it, so any caller enumerating knobs and replaying explicit (engine, knobs) plans loses those engines entirely. Add the mapping in both directions and expose the enum value to the Python bindings. The numeric value is used on the backend side to avoid the deprecated-enum warning.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughThe change adds ChangesTILE_CGA knob exposure
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This localized change enables TILE_CGA knob queries and explicit execution plans to round-trip without affecting graphs that do not use the knob. No actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Description checkExplanation The description explains the problem, implementation, compatibility impact, and expected behavior. It omits the required checklist, affected area, related issues, and testing sections with exact commands and results. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
get_knobs_for_engine()converts backend knob types intoKnobType_t; a knob the mapping does not carry arrives asNOT_SET, and passing that knob back throughcreate_execution_plan()failsconvert_to_backend_knob_typewithCUDNN_STATUS_INVALID_VALUEfor every knob combination on that engine — so an engine reporting one unmapped knob becomes impossible to drive through the explicit-plan API at all.CUDNN_KNOB_TYPE_TILE_CGA(id 26) is marked deprecated in the public backend enum but is still reported by some engines' knob queries. This PR:KnobType_t::TILE_CGAand maps it in both conversion directions (knobs.h)properties.cpp)The backend-side conversion uses the numeric value to avoid the deprecated-enum warning. No behavior change for graphs that never see this knob; round-tripping
get_knobs_for_engine→create_execution_plannow works on engines that report it.Summary by CodeRabbit
TILE_CGAknob type to the C++ and Python interfaces.