mindXtrain / ops /README.md
Gregory-L's picture
fork mindXtrain from GitHub (Professor-Codephreak/mindXtrain@661bd41) as the mindX-specific line
dfb775d verified
|
Raw
History Blame Contribute Delete
1.65 kB

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).