CLAUDE.md: Deployment — образ 1.3.0, кампания на пять долей (shard, entrypoint.sh, docker-compose.shards.yml)
This commit is contained in:
@@ -637,15 +637,28 @@ Note the campaign has barely started: `out/` currently holds four finished runs
|
||||
|
||||
## Deployment
|
||||
|
||||
Published image **`notbigghost/kbc2d:1.2.0`**; the server needs only
|
||||
Published image **`notbigghost/kbc2d:1.3.0`** (also `latest`); the server needs only
|
||||
`docker-compose.server.yml` (the only compose file with no `build:` section), not
|
||||
the sources. `ENTRYPOINT` is the campaign driver and `CMD` defaults to `--dry-run`,
|
||||
so a stray `docker run` prints an estimate instead of starting a 100-hour job. Check
|
||||
the sources. `ENTRYPOINT` is `bench/entrypoint.sh` and `CMD` defaults to `--dry-run`:
|
||||
without `KBC2D_SHARD` it just forwards to `run_campaign.sh`, so a stray `docker run`
|
||||
prints an estimate instead of starting a 100-hour job.
|
||||
|
||||
**Five shards** (since 1.3.0): every run in `scenarios.json` carries `"shard": 1..5`,
|
||||
assigned by LPT in `gen_scenarios.py` (`--shards N`) on a dzn-shaped time model
|
||||
(`DZN_MLUPS`), ≈24 h each. `docker-compose.shards.yml` + `shard.bat N` target someone
|
||||
else's Windows/WSL2 PC: with `KBC2D_SHARD` set, the entrypoint picks the GPU path
|
||||
(`/dev/dxg` → dzn, else NVIDIA toolkit), requires a non-CPU adapter in `vulkaninfo`,
|
||||
runs `parity.py` once (marker `out/parity_shardN.ok`), then
|
||||
`run_campaign.sh --resume --shard N`. A sharded driver writes `summary_shardN.csv` /
|
||||
`campaign_shardN.log` instead of the shared names. The compose sets
|
||||
`command: ["--resume"]` only to avoid inheriting `--dry-run`. Regenerating
|
||||
`scenarios.json` must keep the diff to the shard fields — the generator reproduces the
|
||||
rest exactly. Check
|
||||
the card first (`--profile check run --rm vulkan`) — a missing GPU is better
|
||||
discovered in a minute than in an hour. The `check` profile also carries
|
||||
`preflight`, `calibrate` and `plan` services (plus `parity` in the WSL file).
|
||||
|
||||
Two version caveats: the `1.2.0` tag lives only in the compose files and prose —
|
||||
Two version caveats: the `1.3.0` tag lives only in the compose files and prose —
|
||||
`Cargo.toml` still says `version = "0.1.0"` and the Dockerfile defaults
|
||||
`ARG VERSION=dev`. And `linux/amd64` is asserted in `README.md` only; no compose
|
||||
file sets `platform:` and the Dockerfile sets no `--platform`.
|
||||
|
||||
Reference in New Issue
Block a user