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
|
## 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
|
`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`,
|
the sources. `ENTRYPOINT` is `bench/entrypoint.sh` and `CMD` defaults to `--dry-run`:
|
||||||
so a stray `docker run` prints an estimate instead of starting a 100-hour job. Check
|
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
|
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
|
discovered in a minute than in an hour. The `check` profile also carries
|
||||||
`preflight`, `calibrate` and `plan` services (plus `parity` in the WSL file).
|
`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
|
`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
|
`ARG VERSION=dev`. And `linux/amd64` is asserted in `README.md` only; no compose
|
||||||
file sets `platform:` and the Dockerfile sets no `--platform`.
|
file sets `platform:` and the Dockerfile sets no `--platform`.
|
||||||
|
|||||||
Reference in New Issue
Block a user