Mengoptimalkan jejaring cluster menggunakan NCCL/gIB.

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:

Workload ML dikelola oleh framework ML yang terhubung ke GPU NVIDIA dan NCCL, sedangkan NCCL terhubung ke berbagai alat dan plugin Google.

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.

Grafik yang menunjukkan bahwa NCCL/gIB mengungguli NCCL upstream dalam tugas AllReduce.

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.

Grafik yang menunjukkan bahwa NCCL/gIB mengungguli NCCL upstream dalam tugas AllGather.

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:

Untuk mempelajari cara mengatasi masalah apa pun dengan cluster setelah Anda menjalankan pengujian, lihat Mengumpulkan dan memahami log NCCL/gIB untuk pemecahan masalah.