Halaman ini menjelaskan cara menjalankan pengujian NCCL dengan NCCL/gIB di instance A4X Max, A4X, A4, dan A3 Ultra. Contoh di halaman ini adalah untuk pengujian NCCL dua node.
Jika Anda menggunakan penjadwal seperti Cluster Director, Cluster Toolkit, atau GKE, Anda tidak perlu mengikuti langkah-langkah di halaman ini. Sebagai gantinya, lihat hal berikut:
- Menjalankan NCCL di cluster GKE yang menggunakan konfigurasi default
- Menjalankan NCCL di cluster GKE kustom yang menggunakan A4X Max
- Menjalankan NCCL di cluster GKE kustom yang menggunakan A4X
- Menjalankan NCCL di cluster GKE kustom yang menggunakan A4 atau A3 Ultra
- Menjalankan pengujian NCCL di cluster Slurm
- Menjalankan pengujian NCCL di cluster Slurm di Cluster Director
Untuk menjalankan pengujian NCCL di A3 Mega dan A3 High, lihat Membuat instance A3 Mega atau A3 High dengan GPUDirect diaktifkan.
Sebelum memulai
Sebelum menjalankan pengujian NCCL, pastikan Anda menginstal NCCL/gIB di lingkungan runtime.
Menjalankan pengujian NCCL
Untuk menjalankan pengujian NCCL di lingkungan yang tidak terjadwal:
- Instal CUDA 12.8 (atau yang lebih baru).
- Instal Open MPI.
- Siapkan login ssh non-interaktif di antara instance komputasi.
- Bangun nccl-tests dengan MPI yang diaktifkan.
Saat membangun nccl-tests, tetapkan
NCCL_HOME=/usr/local/gib.
Untuk menjalankan skrip yang disertakan dengan paket 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
Kami juga memublikasikan image container diagnostik dengan semua yang disertakan di http://us-docker.pkg.dev/gce-ai-infra/gpudirect-gib/nccl-plugin-gib-diagnostic:latest.
Contoh berikut menunjukkan output pada dua instance 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
Langkah berikutnya
- Mengumpulkan dan memahami Log NCCL untuk pemecahan masalah.
- Memantau instance komputasi dan cluster Slurm.
- Memecahkan masalah performa yang lambat.