Validation Tests
Multi-Node NVLink (MNNVL) ComputeDomain Bandwidth Test (dra-computedomain-test.yaml)
---
apiVersion: resource.nvidia.com/v1beta1
kind: ComputeDomain
metadata:
name: nvbandwidth-test-compute-domain
spec:
numNodes: 2
channel:
resourceClaimTemplate:
name: nvbandwidth-test-compute-domain-channel
---
apiVersion: kubeflow.org/v2beta1
kind: MPIJob
metadata:
name: nvbandwidth-test
spec:
slotsPerWorker: 4
launcherCreationPolicy: WaitForWorkersReady
runPolicy:
cleanPodPolicy: Running
# The NGC nvbandwidth image runs as root and does not ship an SSH server,
# so keys are mounted under /root/.ssh and the worker installs openssh-server
# at runtime (see the Worker spec below).
sshAuthMountPath: /root/.ssh
mpiReplicaSpecs:
Launcher:
replicas: 1
template:
metadata:
labels:
mpi-memcpy-dra-test-replica: mpi-launcher
spec:
restartPolicy: OnFailure
# The launcher pins to a control-plane node; tolerate its taint.
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
containers:
- image: nvcr.io/nvidia/nv-mission-control/nvbandwidth:1.8.0
name: mpi-launcher
securityContext:
runAsUser: 0
env:
- name: OMPI_ALLOW_RUN_AS_ROOT
value: "1"
- name: OMPI_ALLOW_RUN_AS_ROOT_CONFIRM
value: "1"
command: ["/bin/bash", "-lc"]
args:
- >
mpirun --allow-run-as-root
--bind-to core --map-by ppr:4:node -np 8
--report-bindings -q
-mca plm_rsh_args "-p 2222 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /root/.ssh/id_rsa"
nvbandwidth -t multinode_device_to_device_memcpy_read_ce
imagePullSecrets:
- name: ngc-nvcr
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
Worker:
replicas: 2
template:
metadata:
labels:
mpi-memcpy-dra-test-replica: mpi-worker
spec:
restartPolicy: OnFailure
containers:
- image: nvcr.io/nvidia/nv-mission-control/nvbandwidth:1.8.0
name: mpi-worker
securityContext:
runAsUser: 0
# The NGC image has no SSH server; install openssh-server at runtime
# and start sshd on port 2222 for the MPI launcher to connect.
command: ["/bin/bash", "-lc"]
args:
- >
apt-get update -qq &&
apt-get install -y -q openssh-server &&
mkdir -p /run/sshd &&
ssh-keygen -A &&
exec /usr/sbin/sshd -De -p 2222 -o StrictModes=no
resources:
limits:
nvidia.com/gpu: 4
claims:
- name: compute-domain-channel
imagePullSecrets:
- name: ngc-nvcr
resourceClaims:
- name: compute-domain-channel
resourceClaimTemplateName: nvbandwidth-test-compute-domain-channel
# GB200/GB300 only: co-locate all worker pods within the same NVL
# clique so the multi-node nvbandwidth test exercises NVLink rather
# than the scale-out fabric. Omit (or change topologyKey) on
# non-NVL accelerators.
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: mpi-memcpy-dra-test-replica
operator: In
values:
- mpi-worker
topologyKey: nvidia.com/gpu.clique
InfiniBand (SR-IOV) Bandwidth Tests (ib-bandwidth-test.yaml)
InfiniBand (SR-IOV) NCCL Tests (ib-nccl-test.yaml)
Spectrum-X (RoCE) NCCL Tests (roce-nccl-test.yaml)
Last updated