Singularity-xMESH-0.8B / PORTABILITY.md
ivaavi's picture
Verify xMESH on Apple Metal and NVIDIA Vulkan GPUs
d20f5ff verified
|
Raw History Blame Contribute Delete
3.11 kB
# xMESH portability contract
Singularity Node must serve xMESH through the same `/v1/systemone` request and response contract on every supported platform.
## Runtime
- Minimum llama.cpp: `b11719` (`5aeac37a35b44fde4bdffaec9159f2fcb253b622`).
- Context: 2,048 tokens per request.
- Physical batch: 2,048 tokens. The llama.cpp default of 512 rejects normal multi-field requests.
- Default concurrency: one slot. Higher concurrency requires a platform-specific canary.
- GPU offload (`-ngl 99`) on accelerators that passed frozen-suite decision parity against CPU: Apple Metal (959/960 decisions, one near-tie) and NVIDIA through the Vulkan build (960/960). Singularity Node v1.10.4+ selects this itself. Every other setup runs on CPU (`-ngl 0`). Evidence: `ACCELERATOR_PARITY.json`.
- System memory: 8 GB minimum; 16 GB recommended.
## Artifacts
| Artifact | Bytes | SHA-256 | Use |
| --- | ---: | --- | --- |
| `Singularity-xMESH-0.8B-BF16.gguf` | 1,571,529,600 | `9f4c08f19c4d203059bc74ed2754e800ec472d7276d8ddb2321480e86d392fff` | Universal Node artifact |
| `Singularity-xMESH-0.8B-Q8_0.gguf` | 841,069,440 | `41b36270b67f6c595e98cf4f29d6a0d13f0c19daa37b75741cd8296e2729fd75` | Accelerated runtimes only |
Q8 passes the full Metal decision-parity suite but crashes in llama.cpp `b11719` during CPU initialization. Q4_K_M loads but changes 16 of 960 frozen decisions, so it is not a release artifact.
## Release matrix
| Surface | Target | Artifact | Status |
| --- | --- | --- | --- |
| Desktop | macOS Apple silicon | BF16 | Full Metal offload: 959/960 frozen-suite decisions match CPU; packaged-app Run Locally and Grid serving canaries passed (Desktop 1.10.7) |
| Desktop / Node | Windows x64 CPU | BF16 | Production Vulkan distribution with `-ngl 0` passed 9/9 decisions |
| Node CLI | Linux x64 CPU | BF16 | Production Vulkan distribution with `-ngl 0` passed 9/9 decisions on Ubuntu 24.04 |
| Node CLI | Linux ARM64 CPU | BF16 | CPU load and real decision canary passed in Ubuntu 24.04 ARM64 |
| Node CLI | Linux x64 NVIDIA GPU | BF16 | Production Vulkan distribution with `-ngl 99` on an RTX A4000: 960/960 frozen-suite decisions match CPU, 0.31 s median per request |
The desktop release workflow does not currently publish Linux or Intel Mac packages. The Node CLI covers Linux; Intel Mac desktop support requires a separate release target.
The official Linux llama.cpp archive links `libgomp.so.1`. Minimal Ubuntu images must install the standard `libgomp1` package before `sgl setup`; normal desktop/server distributions often already include it. The provisioner must surface this exact prerequisite when the staged binary fails its launch check.
## Quality gates
- Frozen x402 export parity: 80 cases and 960 decisions.
- Official typed-decisions boundary suite: 400 cases and 2,000 decisions.
- Option-order robustness: 600 choice decisions.
- Runtime integrity: exact artifact and llama.cpp archive hashes.
- Platform canary: load, health, real `/v1/systemone` request, expected answer, and clean shutdown.
See `GGUF_VALIDATION.json` for measurements and rejected artifact evidence.