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 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:

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 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.

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

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.

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

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:

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.