Repository navigation
deepseek: build CPU asset generators before CUDA images - #1640
Merged
Merged
Conversation
8 of 9 tasks
Install the token-map exporter and the real AOT planner without booting a CUDA model. Parse complete release metadata for CPU preparation while retaining checkpoint representation refusals in serving. Host checks cover CLI admission and the public 1017 config. CPU qualification on a Linux CUDA host passes formatting, zero new lean identities, native/plain builds, the full host and CUDA subsets, kernel contracts, security, golden, fuzz and CI tool checks. Actual metadata produces the canonical token map and the reference generators produce RoPE, signatures, needs and an SM121 cubin. (cherry picked from commit 2765377)
List Engram shard paths from an index-only source, preserving repository-relative paths and requiring an explicit prefix for bare filenames. Missing or unsafe index data gives an actionable refusal; no model shards or device are needed for discovery. Ryan3040 reported the missing-index traceback and shard-discovery mismatch in issue jayleaton/deepseek-v41-tensorfold-spark#68. This already-started native change is isolated for the recipe owner after the scope split; pack generation, real download paths and recipe wiring remain separate work. (cherry picked from commit d5da559)
ashhart
force-pushed
the
dsv41-up/asset-tools
branch
from
October 30, 2026 16:15
ddde40d to
ed97c59
Compare
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.
What this changes
DeepSeek-V4.1 serving needs prepared assets: the token map, RoPE tables, signatures, the AOT
needslist and SM121 cubins. Producing them meant booting a CUDA model. This installs the token-map exporter and the real AOT planner as a CPU tool,dsv41-assets, that needs no GPU. It parses the complete release metadata for preparation, while serving keeps its checkpoint representation refusals.A second commit lets the same tool list Engram shard paths from an index-only source. It keeps repository-relative paths and requires an explicit prefix for bare filenames. Missing or unsafe index data is refused with an actionable message. No model shards or device are needed.
Docs:
docs/recipes/deepseek-v41-cuda.mddescribes the CPU preparation steps.Issue: none; this is tooling for the existing experimental family. Stacked on: nothing (based on main
3f0a715c4; the 28 later main commits, tof350cd3ea, touch none of its files).Receipt
ddde40de8812on main3f0a715c4; Zig 0.17.0; host checks on a Linux aarch64 DGX Spark (GB10, CUDA 13.0). Real-pack boot on two GB10s, TP=2 over RoCE, checkpointjayleaton/DeepSeek-V4.1-Flash-1017-EXL3-2.8bpwrevision859396591c34,TF_EXPERIMENTAL=deepseek.needsand an SM121 cubin. Host checks cover CLI admission, a refusal to select a GPU operation, the public 1017 config fixture, and Engram index refusals.atc overlapreports a one-line conflict inbuild.zigwith draft lfm3: serve LFM3-1.7B on CUDA: NVFP4 and FP8 weight-only, MLX 4-bit (stacked on #1513, #1492 and #1503) #1508 and with lfm3 CUDA: serve the block FP8 export weight-only and the MLX 4-bit export as stored (stacked on #1508) #1634, which is stacked on it. Each PR adds its own family host-test line, and the merge takes both.Checklist
"draft": false, a resumed prompt equals a fresh one, and concurrent equals solo. (Not measured for this change alone.)SUMMARYline is in the receipt. (No kernel changes.)