Ops
Container, compose, Kubernetes, vmm, and Gensyn manifests for mindxtrain. Per
mindxtrain2.md Β§Part 4 (ops/).
Layout
ops/
βββ containerfiles/
β βββ containerfile_train # FROM rocm/primus:v26.2 (training image)
β βββ containerfile_serve # FROM rocm/vllm-dev:rocm7.2.1 (inference image)
β βββ digest.lock # SHA256 pins, populated post-pull
βββ compose/
β βββ compose_dev.yaml # full stack: vLLM + operator FastAPI for the live demo
βββ k8s/
β βββ train_job.yaml # single-MI300X training Job
βββ vmm/ # OpenBSD vmm vm definitions (post-hackathon)
βββ gensyn/ # Gensyn distributed-training configs (post-hackathon)
Build the train image (on the MI300X droplet)
podman build -f ops/containerfiles/containerfile_train -t mindxtrain/train:latest .
podman inspect --format '{{index .RepoDigests 0}}' mindxtrain/train:latest \
| tee -a ops/containerfiles/digest.lock
Build the serve image
podman build -f ops/containerfiles/containerfile_serve -t mindxtrain/serve:latest .
Run the demo stack
podman-compose -f ops/compose/compose_dev.yaml up -d
# vLLM-ROCm at :8000, mindxtrain operator FastAPI at :8080
Submit the K8s training job
kubectl create configmap mindxtrain-run-config --from-file=run.yaml=run.yaml
kubectl apply -f ops/k8s/train_job.yaml
kubectl logs -f job/mindxtrain-job
The Job spec assumes a node labeled accelerator: mi300x and the AMD ROCm
device plugin (amd.com/gpu resource).