-
Notifications
You must be signed in to change notification settings - Fork 267
Open
Description
We're kicking off a systematic effort to dramatically reduce CK and CK-Tile build times, starting with an intensive three-week research and hackathon-style phase, followed by a sustained multi-month effort.
Why
Current builds take hours, slowing iteration, CI, and developer productivity. Faster build times will be great for users, and kernels that compile in seconds enable more interactive work.
Strategy
Systematic approach:
- Profile builds thoroughly and measure impact of changes.
- Use data-driven prioritization to focus on high-value improvements.
- Document and test the core meta-programming logic in CK and CK Tile.
Three strategies for code changes:
- Rewrite metaprogramming using best practices for C++17, e.g. replace math algorithms implemented with recursive template instantiation with algorithms in
constevalfunctions.. - Remove cruft and unused or obsolete kernel code.
- Simplify code, e.g. by pruning the include dependency trees and reduce duplication, to lighten compiler load.
Complementary approaches
- Bottom-up complexity analysis of compile-time operations.
- Add unit tests for metaprogramming primitives to enable safe refactoring.
- AI-assisted detection of compile-time inefficiencies.
Success Criteria
- Build times reduced from hours to minutes.
- Evidence-based improvements tracked over time.
- Processes in place for sustained monitoring and improvement of build times.
Metadata
Metadata
Assignees
Labels
No labels