Repository navigation
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/24849
Note: Links to docs will display an error until the docs builds have been completed. ❌ You can merge normally! (4 Unrelated Failures), 4 Unclassified FailuresAs of commit 8ecfa50 with merge base 4529a94 ( UNCLASSIFIED FAILURES - DrCI could not classify the following jobs because the workflow did not run on the merge base. The failures may be pre-existing on trunk or introduced by this PR:
BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
Stack from ghstack (oldest at bottom):
Ulterior Motive
Closing the decode gap between ExecuTorch Native's GGML engine and llama.cpp on CUDA, measured with Gemma 4 31B Q4_K_M on an A100.
Rationale
What: The GGML engine's CMake turns ggml's
GGML_CUDA_GRAPHSoption on unless the user sets it.Why: ggml defaults the option to off and llama.cpp's own CMake turns it on. The engine adds ggml as a subdirectory, so its CMake CUDA builds launched each kernel of a decode step separately: about 1,900 launches per Gemma 4 31B step, which cost 2.2–2.5 ms of a ~26 ms step.
Details
GGML_CUDA_GRAPHSoff unless set; ggml-cuda never captured or replayed CUDA graphs.-DGGML_CUDA_GRAPHS=OFFstill turns it off.Buck builds already compile ggml-cuda with CUDA graphs.
Authored with Claude Code.
Differential Revision: D130721993