Framework machine learning modern sering menggunakan NVIDIA Collective Communications Library (NCCL) untuk primitive komunikasi GPU-ke-GPU.
Versi NCCL yang ditingkatkan dari Google disebut NCCL/gIB dan tersedia di instance A5X, A4X Max, A4X, A4, dan A3 UltraGoogle Cloud. NCCL/gIB sering kali lebih berperforma daripada NCCL upstream di infrastruktur Google. Karena performa NCCL dapat memengaruhi performa workload secara keseluruhan, sebaiknya Anda menggunakan NCCL/gIB.
NCCL/gIB berisi fitur dan pengoptimalan khusus Google seperti berikut:
- Plugin jaringan gIB menawarkan load balancing yang lebih baik di jaringan Google, sehingga menghasilkan throughput tinggi dan latensi rendah yang lebih konsisten selama operasi kolektif.
- Plugin tuner kustom, yang memilih opsi penyesuaian terbaik di VM Google Cloud .
- Plugin profiler CoMMA menyediakan metrik performa dan data diagnostik yang mendetail untuk workload Anda.
- Plugin env menyediakan konfigurasi variabel khusus platform di seluruh VM Google Cloud .
Arsitektur NCCL/gIB
NCCL/gIB berinteraksi dengan framework machine learning Anda 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 VM Google Cloud tanpa masalah stabilitas, NCCL/gIB lebih dioptimalkan untuk Google Cloud dan perbedaan performanya bisa 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 lipat pada ukuran pesan tertentu.

Performa AllReduce NCCL 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 AllGather NCCL 32 node menggunakan A3 Ultra (H200) pada fabric bersama dengan latar belakang yang bising.
Selain itu, plugin profiler CoMMA memberi Google telemetri kustom yang lebih baik, sehingga kami dapat membantu Anda dengan lebih baik jika terjadi masalah di tingkat workload.
Menginstal NCCL/gIB
Sebelum menjalankan pengujian NCCL, Anda harus menginstal NCCL/gIB di lingkungan runtime Anda.
Menggunakan NCCL/gIB
Untuk menjalankan pengujian NCCL/gIB di cluster Anda, pilih halaman dari daftar berikut yang paling sesuai dengan kebutuhan Anda:
- Menggunakan plugin gIB NCCL di container NVIDIA NGC
- Menjalankan pengujian NCCL di instance Compute Engine
- Menjalankan NCCL di cluster GKE yang menggunakan Cluster Toolkit
- Menjalankan NCCL di cluster GKE yang menggunakan A4X Max
- Menjalankan NCCL di cluster GKE yang menggunakan A4X
- Menjalankan NCCL di cluster GKE yang menggunakan A4 atau A3 Ultra
- Menjalankan pengujian NCCL di cluster Slurm
- Menjalankan pengujian NCCL di Cluster Director
Untuk mengetahui petunjuk cara menjalankan NCCL/gIB di cluster GKE yang menggunakan A5X, hubungi perwakilan Google Cloud Anda.
Untuk mempelajari cara mengatasi masalah pada cluster setelah menjalankan pengujian, lihat Mengumpulkan dan memahami log NCCL/gIB untuk pemecahan masalah.