Running NCCL tests on GPU clusters using xpk
November 5, 2025 ยท View on GitHub
This document provides an introduction to running tests for the NVIDIA Collective Communications Library (NCCL). NCCL is a high-performance, multi-GPU communications library used in deep learning and other applications. The test suite helps verify the correct functionality and performance of NCCL on your system. Please visit NCCL tests github to learn more about NCCL and running it.
Steps presented in this document are designed to run on A3 Ultra and A3 Mega machines (DEVICE_TYPE=h200-141gb-8 or DEVICE_TYPE=h100-mega-80gb-8).
1. Create cluster
Skip this step if you have already provisioned a GKE cluster with A3 Ultra or A3 Mega machines.
First step is to create a cluster with A3 Ultra or A3 Mega machine. Execute command below:
xpk cluster create \
--cluster=$CLUSTER_NAME --device-type=$DEVICE_TYPE \
--zone=$COMPUTE_ZONE --project=$PROJECT_ID \
--num-nodes=$CLUSTER_NUM_NODES --reservation=$RESERVATION_ID
2. Run NCCL workload
The command to run NCCL tests on A3 clusters depends on the type of machine.
A3 Mega
xpk workload create \
--workload=nccl-test --command="./examples/nccl/nccl-a3mega.sh" \
--base-docker-image=us-docker.pkg.dev/gce-ai-infra/gpudirect-tcpxo/nccl-plugin-gpudirecttcpx-dev:v1.0.8-1 \
--cluster=$CLUSTER_NAME --device-type=$DEVICE_TYPE \
--zone=$COMPUTE_ZONE --project=$PROJECT_ID \
--num-nodes=$WORKLOAD_NUM_NODES
A3 Ultra
xpk workload create \
--workload=nccl-test --command="./examples/nccl/nccl-a3ultra.sh" \
--base-docker-image=us-docker.pkg.dev/gce-ai-infra/gpudirect-gib/nccl-plugin-gib-diagnostic:v1.0.3 \
--cluster=$CLUSTER_NAME --device-type=$DEVICE_TYPE \
--zone=$COMPUTE_ZONE --project=$PROJECT_ID \
--num-nodes=$WORKLOAD_NUM_NODES
Troubleshooting
If you are getting a 403 Forbidden Error when creating docker image, make sure to add us-docker.pkg.dev to the list of gcloud credential helpers using this command:
gcloud auth configure-docker us-docker.pkg.dev