Conversation
Contributor
There was a problem hiding this comment.
All reported issues were addressed across 1 file
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Graffioh
force-pushed
the
codex/cmake-legacy-option-migration
branch
4 times, most recently
from
September 24, 2026 07:22
9c5e4d3 to
2f20420
Compare
The luce rename moved every CMake option from DFLASH27B_* (and DFLASH_GPU_SAMPLER) to LUCE_* with no migration. A build directory configured under the old names keeps them in its cache, and its next configure silently falls back to the defaults: an R9700 build dir reconfigured with LUCE_HIP_ARCHITECTURES empty compiled ggml for gfx1151 and the server segfaulted in the first HIP kernel launch; a DFLASH27B_GPU_BACKEND=hip dir would switch to CUDA. Fresh CI build dirs never see it. Each renamed user option now adopts its old cached value once, with a warning, and the old entry is dropped. The value is adopted when the new option is unset, empty, or still at its declared default: a single configure caches GPU_BACKEND=cuda and the ON switches, so an old -D on an existing dir, or a stale old entry in a dir reconfigured once after the rename, must still win over them. A LUCE_* value set away from its default wins, and the old flag is reported as ignored. The adopted entry keeps the new option's cache type, or BOOL for an untyped ON/OFF option not declared on this backend. Checked with real HIP configures: a fresh dir with the old names, and a dir already configured with the defaults, both give --offload-arch=gfx1201 for ggml-hip and luce_common; the second also gives LUCE_TESTS:BOOL=OFF from -DDFLASH27B_TESTS=OFF, and -DDFLASH_GPU_SAMPLER=OFF gives LUCE_GPU_SAMPLER:BOOL=OFF. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Graffioh
force-pushed
the
codex/cmake-legacy-option-migration
branch
from
September 24, 2026 07:22
2f20420 to
ee26c18
Compare
Contributor
|
@cubic review this |
Contributor
@davide221 I have started the AI code review. It will take a few minutes to complete. |
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.
The luce rename (#748) moved every CMake option from
DFLASH27B_*(andDFLASH_GPU_SAMPLER) toLUCE_*with no migration. A build directory configured under the old names keeps them in its cache, so its next configure silently falls back to the defaults:DFLASH27B_HIP_ARCHITECTURES=gfx1201gotLUCE_HIP_ARCHITECTURESempty and compiled ggml for thegfx1151default. Unit tests still passed because they launch no kernels, but a liveluce_serversegfaulted in its first HIP kernel launch (rms_norm_mul_f32_cudain the PFlash drafter forward) and logged nothing.DFLASH27B_GPU_BACKEND=hipdir would switch to CUDA.CI configures fresh dirs with the new names, so it never sees this.
Fix: each renamed user option adopts its old cached value once, when the new option is unset, empty, or still at its declared default (the list in the shim mirrors each option's declaration). It prints a rename warning and then drops the old entry. Checking against the default matters because a single configure caches
LUCE_GPU_BACKEND=cudaand theONswitches. So an old-Don an existing dir, or a stale old entry in a dir reconfigured once after the rename, is adopted too. ALUCE_*value set away from its default wins, and the old flag is reported as ignored. The adopted entry keeps the new option's cache type, or BOOL for an untyped ON/OFF option that this backend doesn't declare (LUCE_GPU_SAMPLERon HIP).Checked with two real configures (HIP, ROCm 7.2.4):
-DDFLASH27B_GPU_BACKEND=hip -DDFLASH27B_HIP_ARCHITECTURES=gfx1201gives--offload-arch=gfx1201forggml-hipandluce_common.gfx1151default), then reconfigured with-DDFLASH27B_HIP_ARCHITECTURES=gfx1201, switches to--offload-arch=gfx1201.LUCE_TESTS:BOOL=ON), reconfigured with-DDFLASH27B_TESTS=OFF -DDFLASH27B_HIP_ARCHITECTURES=gfx1201, givesLUCE_TESTS:BOOL=OFFand 227gfx1201/ 0gfx1151offload-arch flags.-DDFLASH_GPU_SAMPLER=OFFgivesLUCE_GPU_SAMPLER:BOOL=OFF, and a second plain reconfigure prints no rename warnings.GPU_BACKEND: a cachedcudadefault plus-DDFLASH27B_GPU_BACKEND=hip, or a stale oldhipentry, both givehip. A user-setLUCE_HIP_ARCHITECTURES=gfx1100beats an oldgfx1201. (This box has no nvcc, so a real CUDA-default configure can't finish here.)🤖 Generated with Claude Code