models : move build_arch_graph() after graph() template specialization - #28934
Merged
Merged
Conversation
Move build_arch_graph()'s function definitions after the graph<true> and graph<false> template specializations have been explicitly defined.
CISC
approved these changes
Sep 15, 2026
taronaeo
approved these changes
Sep 15, 2026
dzannotti
added a commit
to halo-box/llama.cpp
that referenced
this pull request
Sep 15, 2026
* upstream/master: (72 commits) HIP: Enable AllReduce for ROCm (ggml-org#27825) opencl: choose the MoE expert matmul by batch size for speculative decoding/MTP (ggml-org#27637) ci: build MUSA for only 1 arch (ggml-org#28944) docs: Rule of thumb for AI review time [no ci] (ggml-org#28945) rpc : hash-cache only weights (ggml-org#28789) cuda: support row-contiguous SUM_ROWS (ggml-org#26308) models : move build_arch_graph() after graph() template specialization (ggml-org#28934) vulkan: support sparse Flash Attention (ggml-org#28105) OpenVINO: optimize stateful decode and GPU MoE inference (ggml-org#28638) opencl: add generic ssm_scan (ggml-org#28881) ci: bump kleidiai runners from 22.04 to 24.04 (ggml-org#28885) metal : add FA kernels for HSK=96, HSV=64 (MiniCPM3) (ggml-org#28599) ci: Bump CUDA Windows x64 builds to 13.4.1 (ggml-org#28930) ci : fix android release (ggml-org#28936) cuda : enable i16 and i32 for DUP (ggml-org#28897) cmake : use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR (ggml-org#28771) webui: stop re-probing disabled /tools endpoint on every message (ggml-org#28646) ci : reuse build tag name when used instead of safe one (ggml-org#28911) CI: hip-quality-check: ignore spill added in bfdc321 (ggml-org#28909) HIP: fattn-mma: use fp32 accumulation on MFMA devices (ggml-org#28576) ...
quimmedes
pushed a commit
to quimmedes/cafe-llama.cpp
that referenced
this pull request
Sep 16, 2026
ggml-org#28934) Move build_arch_graph()'s function definitions after the graph<true> and graph<false> template specializations have been explicitly defined.
zsogitbe
pushed a commit
to zsogitbe/llama.cpp
that referenced
this pull request
Sep 17, 2026
ggml-org#28934) Move build_arch_graph()'s function definitions after the graph<true> and graph<false> template specializations have been explicitly defined.
Te-eMster
pushed a commit
to Te-eMster/mx-llama.cpp
that referenced
this pull request
Sep 18, 2026
ggml-org#28934) Move build_arch_graph()'s function definitions after the graph<true> and graph<false> template specializations have been explicitly defined.
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.
Overview
Move
build_arch_graph()'s function definitions after thegraph<true>andgraph<false>template specializations have been explicitly defined.Additional information
I get the following build errors when compiling llama.cpp as C++23 in my application. C++23 makes
std::unique_ptrconstexpr, which causes clang to eagerly instantiatestd::unique_ptr's body when the explicit specialization of thegraphtemplate hasn't been defined yet. Thisstd::unique_ptrchange came from C++23 proposal P2273R3:https://open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2273r3.pdf
In dflash.cpp, eagle3.cpp, and t5.cpp,
build_arch_graph()callsstd::make_unique, which implicitly instantiates the specializations of the nestedgraphtemplates before the explicit specializations are defined. To fix the errors, movebuild_arch_graph()to the end of each file, after all explicit specializations.Requirements