|
|
1 тиждень тому | |
|---|---|---|
| .. | ||
| checksums | 1 тиждень тому | |
| locks | 1 тиждень тому | |
| patches | 1 тиждень тому | |
| Dockerfile | 1 тиждень тому | |
| README.md | 1 тиждень тому | |
| apply-arch.py | 1 тиждень тому | |
| build.sh | 1 тиждень тому | |
| gen-locks.sh | 1 тиждень тому | |
| versions.env | 1 тиждень тому | |
EXPERIMENTAL. Builds a DeepSeek-V4-Flash DSpark serving image from source,
so we are not locked to the prebuilt aidendle94/sparkrun-vllm-ds4-gb10 image.
Stack (pinned in versions.env):
| Layer | Pin |
|---|---|
| vLLM fork | local-inference-lab/vllm @ feat/gg-ds4-0731-launcher = e63a190ee |
| torch | 2.12.0+cu130 |
| FlashInfer | ce40d25a (0.6.15), built from source |
| b12x | voipmonitor/b12x @ 284a2ea |
| NCCL | 5067397c |
| CUDA base | nvidia/cuda:13.2.0-devel-ubuntu24.04 @ pinned digest |
| arch | aarch64 / sm_121a |
The python locks were regenerated from the fork's own requirements/ at the
pinned commit (torch 2.12.0, flashinfer 0.6.15, cutlass-dsl 4.6.0,
tokenspeed/humming-kernels), not from the GLM-5.2 harness locks (which pin
torch 2.11 / flashinfer 0.6.12 and are therefore invalid for this stack).
Reset/refresh the locks (only needed when the fork pins change):
bash gen-locks.sh # writes locks/python-build.txt & python-runtime.txt
Build:
TAG=vllm-ds4-dspark-src:probe bash build.sh
via the launcher on a build node:
sm121 build --recipe deepseek-v4-flash-dspark-src --build-node dgx3.lan
This uploads this directory, runs build.sh (torch wheels + from-source
FlashInfer/vLLM + b12x editable) in a tmux build session, and stamps the
sm121.checksum label.
requirements/cuda.txt)
but we then install the 0.6.15 from-source wheel over it — the built wheel
wins. If pip objects to install-order, pin the runtime lock differently.--no-deps, so its
own install_requires are never auto-resolved into the lock. gen-locks.sh
therefore re-adds its hard transitive deps explicitly (cuda-tile==1.5.0)
and nccl4py==0.3.1) so pip check passes. deep-gemm (sdist-only) and
vllm-flash-attn (x86-only) have no aarch64 wheel and are not required by the
fork's vLLM, and ray is not needed on the mp distributed backend — so all
three stay out of the aarch64 runtime lock. Note the import names differ from
the PyPI names: cuda-tile → cuda.tile, nccl4py → nccl.overlay/ and patches/ are intentionally empty (GLM-specific pieces dropped);
add DS4 patches here if the fork needs a local fix.serve-ds4-flash-spark.sh.