Framework machine learning modern sering menggunakan NVIDIA Collective Communications Library (NCCL) untuk primitive komunikasi GPU-ke-GPU.
Versi NCCL yang ditingkatkan oleh Google disebut NCCL/gIB dan tersedia di Google CloudVM A3 Ultra, A4, dan A4X. NCCL/gIB sering kali lebih berperforma daripada NCCL upstream di infrastruktur Google. Karena performa NCCL dapat memengaruhi performa workload secara keseluruhan, sebaiknya gunakan NCCL/gIB.
NCCL/gIB berisi fitur dan pengoptimalan khusus Google seperti berikut:
- Plugin jaringan gIB menawarkan load balancing yang ditingkatkan di jaringan Google, sehingga menghasilkan throughput tinggi dan latensi rendah yang lebih konsisten selama operasi kolektif.
- Sebuah plugin tuner kustom, yang memilih opsi tuning terbaik di Google Cloud VM.
- Plugin profiler CoMMA memberikan metrik performa dan data diagnostik mendetail untuk workload Anda.
- Plugin env menyediakan konfigurasi variabel khusus platform di seluruh Google Cloud VM.
Arsitektur NCCL/gIB
NCCL/gIB berinteraksi dengan framework machine learning dan GPU NVIDIA di cluster Anda untuk mengoptimalkan performa dan mengumpulkan telemetri, seperti yang ditunjukkan dalam diagram ini:

Manfaat menggunakan NCCL/gIB
Meskipun Anda dapat menggunakan NVIDIA Collective Communications Library upstream di Google Cloud VM tanpa masalah stabilitas, NCCL/gIB lebih dioptimalkan untuk Google Cloud dan perbedaan performa dapat sangat signifikan untuk pola komunikasi tertentu, bahkan dengan parameter NCCL yang sama.
Misalnya, grafik berikut menunjukkan perbandingan NCCL/gIB dengan NCCL upstream pada performa AllReduce. NCCL/gIB mengungguli NCCL upstream hingga 12x pada ukuran pesan tertentu.

Performa NCCL AllReduce 32 node menggunakan A3 Ultra (H200) tanpa traffic latar belakang.
Demikian pula dalam perbandingan NCCL/gIB dengan NCCL upstream pada performa AllGather dengan traffic latar belakang, NCCL/gIB mengungguli NCCL upstream sekitar 50% pada ukuran pesan yang lebih besar, seperti yang ditunjukkan dalam grafik ini.

Performa NCCL AllGather 32 node menggunakan A3 Ultra (H200) pada fabric bersama dengan latar belakang yang bising.
Selain itu, plugin profiler CoMMA memberi Google telemetri kustom yang ditingkatkan, sehingga kami dapat membantu Anda dengan lebih baik jika terjadi masalah tingkat workload.
Menginstal NCCL/gIB
Sebelum menjalankan pengujian NCCL, Anda harus menginstal NCCL/gIB di lingkungan runtime.
Menggunakan NCCL/gIB
Untuk menjalankan pengujian NCCL/gIB di cluster, pilih halaman dari daftar berikut yang paling sesuai dengan persyaratan Anda:
- Menggunakan plugin gIB NCCL di container NVIDIA NGC
- Menjalankan pengujian NCCL di VM Compute Engine
- Menjalankan NCCL di cluster GKE yang menggunakan konfigurasi default
- 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 Director
Untuk mempelajari cara mengatasi masalah apa pun dengan cluster setelah Anda menjalankan pengujian, lihat Mengumpulkan dan memahami log NCCL/gIB untuk pemecahan masalah.