0Pricing
CUDA Academy · Pelajaran

Multi-GPU dengan NCCL

Komunikasi kolektif untuk penskalaan

Multi-GPU dengan NCCL adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CUDA Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CUDA Academy mencakup 4 pelajaran total.

Penanganan Manual Menjadi Sulit

Mengatur penyalinan antarpasangan secara manual di banyak GPU dengan cepat menjadi rumit. Untuk penskalaan nyata, Anda memerlukan pustaka yang dibuat untuk komunikasi kolektif.

Berkenalan dengan NCCL

Jawaban dari NVIDIA adalah NCCL, pustaka komunikasi kolektif. Pustaka ini memindahkan data antar-GPU menggunakan tautan tercepat yang ditemukan, secara otomatis.

Apa Itu Operasi Kolektif

Operasi kolektif adalah satu operasi yang diikuti bersama oleh setiap GPU, misalnya menjumlahkan nilai yang disimpan pada setiap kartu. Semua perangkat bekerja sama dalam satu pemanggilan.

Operasi Kolektif Andalan: AllReduce

Andalannya adalah AllReduce. Operasi ini menggabungkan buffer dari setiap GPU, misalnya dengan menjumlahkannya, lalu mengembalikan hasil yang sama kepada semuanya.

ncclAllReduce(send, recv, n, ncclFloat, ncclSum, comm, stream);

Operasi Kolektif Lainnya

NCCL juga menyediakan Broadcast untuk membagikan data satu GPU kepada semuanya, serta AllGather dan ReduceScatter untuk pola pertukaran umum lainnya.

Komunikator

GPU yang berkomunikasi bersama membentuk grup yang dilacak oleh sebuah komunikator. Setiap pemanggilan kolektif meneruskan handel ini agar NCCL mengetahui pesertanya.

Peringkat Mengidentifikasi GPU

Di dalam komunikator, setiap GPU mendapat nomor yang disebut peringkat, mulai dari 0. Peringkat memungkinkan Anda menentukan siapa yang mengirim, siapa yang menerima, dan siapa yang menjadi akar.

Membangun Komunikator

Untuk GPU dalam satu proses, ncclCommInitAll menyiapkan semua komunikator sekaligus dari daftar id perangkat yang Anda berikan.

ncclCommInitAll(comms, nGpus, devs);

Sadar Aliran

Setiap pemanggilan NCCL menerima sebuah aliran. Operasi masuk ke antrean di sana dan berjalan bersamaan dengan kernel Anda, sehingga komunikasi dapat berlangsung saat komputasi.

Mengelompokkan Pemanggilan

Untuk menjalankan operasi kolektif pada banyak GPU tanpa kebuntuan, bungkus operasi tersebut di antara ncclGroupStart dan ncclGroupEnd agar NCCL meluncurkannya bersama-sama.

ncclGroupStart();
// per-GPU calls
ncclGroupEnd();

Mengapa Pelatihan Menyukainya

Pembelajaran mendalam menyinkronkan gradien di seluruh GPU pada setiap langkah. AllReduce melakukan tepat hal tersebut, sehingga NCCL digunakan oleh hampir semua pelatihan multi-GPU.

Pemeriksaan Cepat

Ingat operasi kolektif NCCL yang menjumlahkan buffer di seluruh GPU dan mengembalikan hasilnya kepada semuanya.

Ringkasan

NCCL menjalankan operasi kolektif seperti AllReduce melalui koneksi berkecepatan tinggi, yang diatur oleh komunikator berisi GPU-GPU dengan peringkat masing-masing. NCCL menjadi tulang punggung pelatihan multi-GPU. Kursus selesai. ✨

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Multi-GPU dengan NCCL” gratis?

Ya — teks lengkap “Multi-GPU dengan NCCL” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CUDA Academy, upgrade ke CoddyKit PRO. Kursus CUDA Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Multi-GPU dengan NCCL”?

Komunikasi kolektif untuk penskalaan Kamu berlatih CUDA Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai CUDA Academy?

Tidak diperlukan pengalaman sebelumnya. CUDA Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Multi-GPU dengan NCCL” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran CUDA Academy ini?

Ya. Setiap pelajaran CUDA Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menghitung dan Memilih Perangkat
  2. Mempartisi Pekerjaan di Seluruh GPU
  3. Akses Memori Peer-to-Peer
  4. Multi-GPU dengan NCCL
← Kembali ke CUDA Academy