Document CPU preflight limits and separate preparation/evaluation passes - #529
Open
msaroufim wants to merge 1 commit into
Open
Document CPU preflight limits and separate preparation/evaluation passes#529msaroufim wants to merge 1 commit into
msaroufim wants to merge 1 commit into
Conversation
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CPU compilation during submission import does not guarantee that every benchmark shape is prepared. This documentation PR explains the limitation and the compile-only harness mode needed to traverse supported cases while keeping user kernel source unchanged.
The current implementation selects import-time
load_inlinebuilds; it does not enumeratecustom_kernelcalls or precompile Triton/CuTe specializations. Running the regular evaluator under fake tensors would also be insufficient: CUDA-dependent input generation can stop discovery before the first launch, and a numerical assertion after each case can stop it after that case.The proposed design uses shared case/input specifications for two passes:
The note explains why ten known shapes do not automatically mean ten prepared shapes, why benchmark-only cases must be included, and why task-owned input adapters may be necessary. It also covers artifact compatibility, private-workload boundaries, and the evidence needed before making expanded preflight a default.
Documentation only: this PR does not implement the proposed mode, change production dispatch, or change existing CPU extension compilation or scoring. It adds a README link to the design note.
Validation: checked the described flow against
ModalLauncher,python_precompile.py,build_task_config, the stock evaluator, and the vector-add task/input generator; verified relative links andgit diff --check. No runtime tests or GPU jobs were run for this documentation-only change.