Cette page explique comment exécuter des tests NCCL avec NCCL/gIB sur les instances A4X Max, A4X, A4 et A3 Ultra. L'exemple présenté sur cette page concerne un test NCCL à deux nœuds.
Si vous utilisez des planificateurs tels que Cluster Director, Cluster Toolkit ou GKE, vous n'avez pas besoin de suivre les étapes de cette page. Consultez plutôt les ressources suivantes :
- Exécuter NCCL sur des clusters GKE qui utilisent la configuration par défaut
- Exécuter NCCL sur des clusters GKE personnalisés qui utilisent A4X Max
- Exécuter NCCL sur des clusters GKE personnalisés qui utilisent A4X
- Exécuter NCCL sur des clusters GKE personnalisés qui utilisent A4 ou A3 Ultra
- Exécuter des tests NCCL sur des clusters Slurm
- Exécuter des tests NCCL sur les clusters Slurm dans Cluster Director
Pour exécuter des tests NCCL sur A3 Mega et A3 High, consultez Créer une instance A3 Mega ou A3 High avec GPUDirect activé.
Avant de commencer
Avant d'exécuter des tests NCCL, assurez-vous d'installer NCCL/gIB dans votre environnement d'exécution.
Exécuter des tests NCCL
Pour exécuter des tests NCCL dans un environnement non planifié :
- Installez CUDA 12.8 (ou version ultérieure).
- Installez Open MPI.
- Configurez des connexions SSH non interactives entre les instances de calcul.
- Compilez nccl-tests avec MPI activé.
Lorsque vous créez nccl-tests, définissez
NCCL_HOME=/usr/local/gib.
Pour exécuter le script fourni avec le package NCCL/gIB :
# The script assumes binaries at /opt/nccl-tests/build/
$ /usr/local/gib/scripts/run_nccl_tests.sh -d /opt/nccl-tests/build/ -p 22 -t all_gather -m 0x0 -b 4K -e 16G a4-vm-1 a4-vm-2
Nous publions également une image de conteneur de diagnostic avec tout ce qui est inclus à l'adresse http://us-docker.pkg.dev/gce-ai-infra/gpudirect-gib/nccl-plugin-gib-diagnostic:latest.
L'exemple suivant montre le résultat sur deux instances A4 :
NCCL version 2.25.1+cuda12.8
#
# out-of-place in-place
# size count type redop root time algbw busbw #wrong time algbw busbw #wrong
# (B) (elements) (us) (GB/s) (GB/s) (us) (GB/s) (GB/s)
4096 64 float none -1 59.97 0.07 0.06 0 57.49 0.07 0.07 0
8192 128 float none -1 58.17 0.14 0.13 0 58.36 0.14 0.13 0
16384 256 float none -1 59.07 0.28 0.26 0 59.03 0.28 0.26 0
32768 512 float none -1 60.93 0.54 0.50 0 60.79 0.54 0.51 0
65536 1024 float none -1 61.93 1.06 0.99 0 62.17 1.05 0.99 0
131072 2048 float none -1 64.62 2.03 1.90 0 64.48 2.03 1.91 0
262144 4096 float none -1 66.50 3.94 3.70 0 67.05 3.91 3.67 0
524288 8192 float none -1 69.37 7.56 7.09 0 67.83 7.73 7.25 0
1048576 16384 float none -1 117.2 8.95 8.39 0 113.7 9.22 8.64 0
2097152 32768 float none -1 118.8 17.65 16.55 0 118.1 17.75 16.64 0
4194304 65536 float none -1 122.2 34.32 32.17 0 122.6 34.22 32.08 0
8388608 131072 float none -1 132.2 63.44 59.48 0 130.7 64.20 60.18 0
16777216 262144 float none -1 139.2 120.49 112.96 0 139.7 120.07 112.56 0
33554432 524288 float none -1 152.0 220.81 207.01 0 152.1 220.59 206.81 0
67108864 1048576 float none -1 227.6 294.87 276.44 0 225.9 297.08 278.51 0
134217728 2097152 float none -1 431.7 310.87 291.44 0 438.0 306.41 287.26 0
268435456 4194304 float none -1 728.6 368.44 345.41 0 735.9 364.79 341.99 0
536870912 8388608 float none -1 1404.2 382.33 358.44 0 1418.4 378.51 354.85 0
1073741824 16777216 float none -1 2795.8 384.06 360.05 0 2768.9 387.79 363.55 0
2147483648 33554432 float none -1 5440.1 394.75 370.08 0 5418.7 396.31 371.54 0
4294967296 67108864 float none -1 10754 399.40 374.43 0 10746 399.67 374.69 0
8589934592 134217728 float none -1 21434 400.77 375.72 0 21421 401.01 375.95 0
17179869184 268435456 float none -1 42679 402.53 377.38 0 42792 401.48 376.38 0
Étapes suivantes
- Collecter et comprendre les journaux NCCL pour le dépannage
- Surveillez les instances de calcul et les clusters Slurm.
- Résoudre les problèmes de lenteur