Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions docs/GLM53_DFLASH7_PYTHON_OVERLAY_SPARKCACHE_TP4_QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ store/restart/restore, or concurrency qualification.
| vLLM native extensions and wheel metadata | `da4d7be6c97434f6942292ed8abbf4b32dc44355` |
| vLLM Python source | `0b67266a0f37d6146a8403fb8482403c62f412d5`, tree `ba9484ccb33aa56e90ff2f447f15ca9b9da97639` |
| B12X | `b1d541f9e71a35f030d45fae437630fff7507c2a`, tree `c69cdec1c59a08e8e0e549f930fa8abcfb5134ae` |
| SparkCache reconstructed-page placement and canonical CUDA configuration | `19e2ec8b59c84ef359c2a3290f86962e3ff71d96`, tree `d8b417bb4b6d734c4403c0a73e7e42b95abd8343`, clean source SHA-256 `bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5` |
| SparkCache reconstructed-page placement, canonical CUDA configuration, and bounded page-delta reads | `5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3`, tree `94c236b9dfbf5f70075eb47877fd9caaa5d8c249`, clean source SHA-256 `bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63` |
| DFlash draft-loader separation | Patch SHA-256 `39b567013ee7aed79f63200ed460129587933dc77fb430decdf19f78178de279`, postimage SHA-256 `98acbae2b3bb4482d83f9637c163ce7c92707ccdf6561b7e431f23337f151cf4` |
| Unused DeepEP removal | Distribution `deep_ep==2.0.0+local`, removal receipt SHA-256 `65514f44829e7d176b0b2cacc9559ed22724e525b7041a8bcd4d2e02d1f372e3` |
| Target | `local-inference-lab/GLM-5.3-Flash-NVFP4@520de24eabf507659eaef7c70f14fd584527facc` |
Expand Down Expand Up @@ -110,12 +110,14 @@ manifests. The two target-loader profiles share a namespace because loader
choice does not change target or draft model state; each profile uses a
different cache root and one-shot clear token while qualification is pending.

[SparkCache pull request #29](https://github.com/FujitsuPolycom/sparkcache/pull/29)
combines canonical CUDA configuration names with replacement of a partial
terminal HMA page when an authenticated cache boundary falls inside that page.
[SparkCache pull request #30](https://github.com/FujitsuPolycom/sparkcache/pull/30)
combines canonical CUDA configuration names, replacement of a partial terminal
HMA page when an authenticated cache boundary falls inside that page, and an
eight-worker reader for authenticated page-delta chunks. The reader preserves
manifest descriptor order after concurrent reads.
Moving from SparkCache commit
`5d571018de5b63a9a90e5c11e6d6e86bbff4a957` to the pinned commit
`19e2ec8b59c84ef359c2a3290f86962e3ff71d96` does not change the namespace.
`5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3` does not change the namespace.
Checkpoint identities, page-delta wire schemas, record vocabulary, digest
salts, parallel geometry, vLLM patches, the lease contract, and the CUDA
placement ABI are unchanged. Compatible `page-tail-cow-v1` entries remain
Expand Down
21 changes: 11 additions & 10 deletions runtime/glm53-flash-dflash7-python-overlay/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ The image combines these exact roles:
- the 31-file vLLM Python delta at
`0b67266a0f37d6146a8403fb8482403c62f412d5`;
- B12X `b1d541f9e71a35f030d45fae437630fff7507c2a`;
- SparkCache reconstructed-page placement source
`19e2ec8b59c84ef359c2a3290f86962e3ff71d96`, Git tree
`d8b417bb4b6d734c4403c0a73e7e42b95abd8343`, and deployable source SHA-256
`bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5`;
- SparkCache reconstructed-page placement and bounded page-delta-read source
`5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3`, Git tree
`94c236b9dfbf5f70075eb47877fd9caaa5d8c249`, and deployable source SHA-256
`bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63`;
- external BF16 DFlash2 weights with SHA-256
`b33c03475ba7322cf398828f2d8d1be376df30dc05c6b40c28c8ea8da23e410b`.

Expand Down Expand Up @@ -54,12 +54,13 @@ No PR25 compatibility profile or legacy-key translation is required by these
profiles.

The pinned SparkCache source from
[pull request #29](https://github.com/FujitsuPolycom/sparkcache/pull/29)
accepts canonical CUDA configuration keys and replaces a partial terminal HMA
page when the authenticated cache boundary falls inside that page. It does not
change cache identity, page-tail wire schemas, record geometry, vLLM patch
bytes, the lease contract, or the CUDA placement ABI. Compatible entries
produced by the source at commit
[pull request #30](https://github.com/FujitsuPolycom/sparkcache/pull/30)
accepts canonical CUDA configuration keys, replaces a partial terminal HMA
page when the authenticated cache boundary falls inside that page, and reads
authenticated page-delta chunks with a bounded eight-worker pool while
preserving descriptor order. It does not change cache identity, page-tail wire
schemas, record geometry, vLLM patch bytes, the lease contract, or the CUDA
placement ABI. Compatible entries produced by the source at commit
`5d571018de5b63a9a90e5c11e6d6e86bbff4a957` remain in the same namespace.
Null-block publication failures remain unsupported by this source contract.
Both profiles preserve B12X compute backends and the pinned PYNCCL/NCCL
Expand Down
6 changes: 3 additions & 3 deletions runtime/glm53-flash-dflash7-python-overlay/pins.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@
},
"sparkcache": {
"repository": "https://github.com/FujitsuPolycom/sparkcache.git",
"commit": "19e2ec8b59c84ef359c2a3290f86962e3ff71d96",
"tree": "d8b417bb4b6d734c4403c0a73e7e42b95abd8343",
"source_tree_sha256": "bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5",
"commit": "5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3",
"tree": "94c236b9dfbf5f70075eb47877fd9caaa5d8c249",
"source_tree_sha256": "bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63",
"cuda_config_schema": "canonical-v1",
"canonical_cuda_config_keys": [
"spark_cache_cuda_restore",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ def test_pins_bind_the_exact_dflash7_composition() -> None:
"b1d541f9e71a35f030d45fae437630fff7507c2a"
)
assert pins["sparkcache"]["commit"] == (
"19e2ec8b59c84ef359c2a3290f86962e3ff71d96"
"5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3"
)
assert pins["sparkcache"]["tree"] == (
"d8b417bb4b6d734c4403c0a73e7e42b95abd8343"
"94c236b9dfbf5f70075eb47877fd9caaa5d8c249"
)
assert pins["sparkcache"]["source_tree_sha256"] == (
"bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5"
"bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63"
)
assert pins["sparkcache"]["cuda_config_schema"] == "canonical-v1"
assert pins["sparkcache"]["canonical_cuda_config_keys"] == [
Expand Down Expand Up @@ -105,6 +105,15 @@ def test_verifier_requires_the_dflash7_deployment_label() -> None:
"glm53-flash-dflash7-python-overlay"
)
assert labels["org.sparkcache.cuda-config-schema"] == "canonical-v1"
assert labels["org.sparkcache.source-revision"] == (
"5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3"
)
assert labels["org.sparkcache.source-tree"] == (
"94c236b9dfbf5f70075eb47877fd9caaa5d8c249"
)
assert labels["org.sparkcache.source-sha256"] == (
"bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63"
)
assert labels["org.jovian.vllm.commit"] != labels[
"org.sparkring.vllm.python.commit"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,9 @@
"max_num_seqs": "32",
"sparkcache_publication_schema": "tail-cow-v1",
"sparkcache_effective_publication_schema": "page-tail-cow-v1",
"sparkcache_source_sha256": "bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5",
"sparkcache_source_revision": "19e2ec8b59c84ef359c2a3290f86962e3ff71d96",
"sparkcache_source_tree": "d8b417bb4b6d734c4403c0a73e7e42b95abd8343",
"sparkcache_source_sha256": "bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63",
"sparkcache_source_revision": "5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3",
"sparkcache_source_tree": "94c236b9dfbf5f70075eb47877fd9caaa5d8c249",
"vllm_native_revision": "da4d7be6c97434f6942292ed8abbf4b32dc44355",
"vllm_python_revision": "0b67266a0f37d6146a8403fb8482403c62f412d5",
"vllm_python_tree": "ba9484ccb33aa56e90ff2f447f15ca9b9da97639",
Expand Down Expand Up @@ -182,9 +182,9 @@
"org.sparkcache.deployment-profile": "glm53-flash-dflash7-python-overlay",
"org.sparkcache.cuda-config-schema": "canonical-v1",
"org.sparkcache.cuda-placement-library-sha256": "REPLACE_WITH_CUDA_PLACEMENT_LIBRARY_SHA256",
"org.sparkcache.source-revision": "19e2ec8b59c84ef359c2a3290f86962e3ff71d96",
"org.sparkcache.source-tree": "d8b417bb4b6d734c4403c0a73e7e42b95abd8343",
"org.sparkcache.source-sha256": "bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5",
"org.sparkcache.source-revision": "5ec6a9953ad5d39120298bbfc26e95a6fa4b1dc3",
"org.sparkcache.source-tree": "94c236b9dfbf5f70075eb47877fd9caaa5d8c249",
"org.sparkcache.source-sha256": "bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63",
"org.sparkcache.vllm-contract-sha256": "6defde9551cbb586fd09bb2d3020495531b6573397875a767eaae1dbad126024",
"org.sparkring.runtime.removed-deep-ep-distribution": "deep_ep==2.0.0+local",
"org.sparkring.runtime.deep-ep-removal-receipt-sha256": "65514f44829e7d176b0b2cacc9559ed22724e525b7041a8bcd4d2e02d1f372e3",
Expand All @@ -196,6 +196,6 @@
"attestation_hook": [
"/bin/sh",
"-ec",
"test -f /models/target/config.json && test -f /models/target/model.safetensors.index.json && test \"$(sha256sum /models/target/config.json | cut -d ' ' -f1)\" = 676382abd1e90a6c85f0c8f33d45441ecd45fd514fd7b63ce5610e732d8e4996 && test \"$(sha256sum /models/target/model.safetensors.index.json | cut -d ' ' -f1)\" = 0d1d9e6b226e76520e182de10d4e7194cc885c5cb1bf885bb90de1916ce312cb && test -f /dflash-draft/config.json && test -f /dflash-draft/model.safetensors && test \"$(sha256sum /dflash-draft/config.json | cut -d ' ' -f1)\" = c4aeac0101196a6e26705b34c45230bcd0c7c68ee2d2d1efdb242087f3712573 && test \"$(sha256sum /dflash-draft/model.safetensors | cut -d ' ' -f1)\" = b33c03475ba7322cf398828f2d8d1be376df30dc05c6b40c28c8ea8da23e410b && test \"$(sha256sum /opt/sparkring/nccl/libnccl.so.2 | cut -d ' ' -f1)\" = 5f1c3f10d5ace66d4ba584415bbfe42b6ac1a0a9116a3b81dcbe50516ad924b3 && grep -q '\"tail-cow-v1\"' /opt/sparkcache-src/sparkcache/spark_context_cache_config.py && test \"$(sha256sum /opt/sparkring/runtime/python-overlay/vllm-python-overlay.json | cut -d ' ' -f1)\" = e5e528288b173399611a4930fecc4182b7208bc1564881d52ca5d2c5c4ae0f6a && test \"$(sha256sum /opt/sparkring/runtime/python-overlay/source-receipt.json | cut -d ' ' -f1)\" = REPLACE_WITH_SOURCE_RECEIPT_SHA256 && test \"$(python3 -c 'import json; print(json.load(open(\"/opt/sparkring/runtime/python-overlay/retained-native.json\", encoding=\"utf-8\"))[\"native_elf_manifest_sha256\"])')\" = REPLACE_WITH_VLLM_NATIVE_ELF_MANIFEST_SHA256 && test \"$(python3 -c 'import json; print(json.load(open(\"/opt/sparkring/runtime/python-overlay/retained-native.json\", encoding=\"utf-8\"))[\"native_dispatch_manifest_sha256\"])')\" = REPLACE_WITH_VLLM_NATIVE_DISPATCH_MANIFEST_SHA256 && test \"$(cat /opt/sparkring/runtime/python-overlay/sparkcache-source-tree.sha256)\" = bc7cae86732c869ee8b2205d48ac5be6f580ee8b77a3e4ffd4c69dcd4f1bfae5 && test \"$(sha256sum /opt/sparkcache-src/sparkcache/runtime_patches/vllm-kv-block-lease-contract-glm53-b12x-kda-adaptive-mtp.json | cut -d ' ' -f1)\" = 6defde9551cbb586fd09bb2d3020495531b6573397875a767eaae1dbad126024 && test \"$(sha256sum /opt/sparkcache-src/sparkcache/native/build-cuda/libspark_cache_placement.so | cut -d ' ' -f1)\" = REPLACE_WITH_CUDA_PLACEMENT_LIBRARY_SHA256 && test \"$(sha256sum /opt/sparkring/runtime/python-overlay/deep-ep-removal-receipt.json | cut -d ' ' -f1)\" = 65514f44829e7d176b0b2cacc9559ed22724e525b7041a8bcd4d2e02d1f372e3 && python3 -c 'import importlib.util; assert importlib.util.find_spec(\"deep_ep\") is None' && python3 /opt/sparkcache-src/sparkcache/runtime_patches/verify_lease_contract.py --vllm-root /usr/local/lib/python3.12/dist-packages --contract /opt/sparkcache-src/sparkcache/runtime_patches/vllm-kv-block-lease-contract-glm53-b12x-kda-adaptive-mtp.json"
"test -f /models/target/config.json && test -f /models/target/model.safetensors.index.json && test \"$(sha256sum /models/target/config.json | cut -d ' ' -f1)\" = 676382abd1e90a6c85f0c8f33d45441ecd45fd514fd7b63ce5610e732d8e4996 && test \"$(sha256sum /models/target/model.safetensors.index.json | cut -d ' ' -f1)\" = 0d1d9e6b226e76520e182de10d4e7194cc885c5cb1bf885bb90de1916ce312cb && test -f /dflash-draft/config.json && test -f /dflash-draft/model.safetensors && test \"$(sha256sum /dflash-draft/config.json | cut -d ' ' -f1)\" = c4aeac0101196a6e26705b34c45230bcd0c7c68ee2d2d1efdb242087f3712573 && test \"$(sha256sum /dflash-draft/model.safetensors | cut -d ' ' -f1)\" = b33c03475ba7322cf398828f2d8d1be376df30dc05c6b40c28c8ea8da23e410b && test \"$(sha256sum /opt/sparkring/nccl/libnccl.so.2 | cut -d ' ' -f1)\" = 5f1c3f10d5ace66d4ba584415bbfe42b6ac1a0a9116a3b81dcbe50516ad924b3 && grep -q '\"tail-cow-v1\"' /opt/sparkcache-src/sparkcache/spark_context_cache_config.py && test \"$(sha256sum /opt/sparkring/runtime/python-overlay/vllm-python-overlay.json | cut -d ' ' -f1)\" = e5e528288b173399611a4930fecc4182b7208bc1564881d52ca5d2c5c4ae0f6a && test \"$(sha256sum /opt/sparkring/runtime/python-overlay/source-receipt.json | cut -d ' ' -f1)\" = REPLACE_WITH_SOURCE_RECEIPT_SHA256 && test \"$(python3 -c 'import json; print(json.load(open(\"/opt/sparkring/runtime/python-overlay/retained-native.json\", encoding=\"utf-8\"))[\"native_elf_manifest_sha256\"])')\" = REPLACE_WITH_VLLM_NATIVE_ELF_MANIFEST_SHA256 && test \"$(python3 -c 'import json; print(json.load(open(\"/opt/sparkring/runtime/python-overlay/retained-native.json\", encoding=\"utf-8\"))[\"native_dispatch_manifest_sha256\"])')\" = REPLACE_WITH_VLLM_NATIVE_DISPATCH_MANIFEST_SHA256 && test \"$(cat /opt/sparkring/runtime/python-overlay/sparkcache-source-tree.sha256)\" = bc238f96e550c7ec27d4081dd1f2e741d404aaf5c8572d89ccc5e76812be4d63 && test \"$(sha256sum /opt/sparkcache-src/sparkcache/runtime_patches/vllm-kv-block-lease-contract-glm53-b12x-kda-adaptive-mtp.json | cut -d ' ' -f1)\" = 6defde9551cbb586fd09bb2d3020495531b6573397875a767eaae1dbad126024 && test \"$(sha256sum /opt/sparkcache-src/sparkcache/native/build-cuda/libspark_cache_placement.so | cut -d ' ' -f1)\" = REPLACE_WITH_CUDA_PLACEMENT_LIBRARY_SHA256 && test \"$(sha256sum /opt/sparkring/runtime/python-overlay/deep-ep-removal-receipt.json | cut -d ' ' -f1)\" = 65514f44829e7d176b0b2cacc9559ed22724e525b7041a8bcd4d2e02d1f372e3 && python3 -c 'import importlib.util; assert importlib.util.find_spec(\"deep_ep\") is None' && python3 /opt/sparkcache-src/sparkcache/runtime_patches/verify_lease_contract.py --vllm-root /usr/local/lib/python3.12/dist-packages --contract /opt/sparkcache-src/sparkcache/runtime_patches/vllm-kv-block-lease-contract-glm53-b12x-kda-adaptive-mtp.json"
]
}
Loading
Loading