CUDA Academy · Pelajaran

Memutar Ulang Graf untuk Mengurangi Overhead

Membagi biaya peluncuran ke seluruh iterasi

Pelajaran 4 dari 413 langkah

Memutar Ulang Graf untuk Mengurangi Overhead 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.

Inti Utamanya: Putar Ulang

Graph dibuat untuk diputar ulang. Satu panggilan peluncuran mengirimkan seluruh rangkaian yang direkam ke GPU sekaligus.

Luncurkan Objek Eksekusi

Anda memutarnya kembali dengan cudaGraphLaunch, dengan meneruskan objek eksekusi yang sudah dibuat instansnya dan sebuah stream. Itulah seluruh proses pengiriman.

cudaGraphLaunch(exec, stream);

Satu Panggilan, Banyak Kernel

Daripada melakukan sepuluh peluncuran per langkah, Anda hanya membayar biaya peluncuran CPU satu kali untuk seluruh graph.

Ulangi dalam Perulangan

Dalam pemecah iteratif, Anda memanggil peluncuran di setiap langkah. Penghematan tersebut teramortisasi selama ribuan iterasi yang identik.

for (int i = 0; i < steps; i++)
    cudaGraphLaunch(exec, stream);

Biaya Pembuatan Instans Dibayar Sekali

Langkah pembuatan instans yang mahal dilakukan sebelum perulangan, sehingga setiap pemutaran ulang di dalam perulangan tetap murah.

Memperbarui Tanpa Membangun Ulang

Jika hanya parameter yang berubah, gunakan cudaGraphExecUpdate untuk memperbarui objek eksekusi, bukan membangunnya ulang dari awal.

cudaGraphExecUpdate(exec, newGraph, NULL, &res);

Di Mana Percepatan Terlihat

Manfaatnya paling besar pada kernel pendek: ketika pekerjaan GPU berlangsung singkat dan didominasi beban tambahan peluncuran, graph menghilangkan beban tersebut.

Lebih Sedikit Guncangan, Lebih Banyak Tumpang Tindih

Mengirimkan pekerjaan sebagai satu kelompok juga mengurangi guncangan CPU, sehingga GPU tetap sibuk dengan lebih sedikit jeda pada linimasa.

Perhatikan Pertukarannya

Graph mengasumsikan struktur yang stabil. Jika pola pekerjaan berubah di setiap langkah, biaya pembangunan ulang dapat melebihi penghematannya.

Bebaskan Sumber Daya

Setelah selesai, lepaskan kedua objek dengan cudaGraphExecDestroy dan cudaGraphDestroy untuk menghindari kebocoran.

cudaGraphExecDestroy(exec);
cudaGraphDestroy(graph);

Rekam, Buat Instans, Putar Ulang

Siklus hidup lengkapnya terdiri dari tiga tahap: rekam pekerjaan, buat instans satu kali, lalu putar ulang berkali-kali.

Pemeriksaan Singkat

Mengapa graph mengurangi beban tambahan peluncuran?

Ringkasan: Memutar Ulang Graph

Putar ulang dengan cudaGraphLaunch untuk menjalankan seluruh rangkaian dalam satu panggilan, sehingga biaya penyiapan teramortisasi di seluruh iterasi. Perbarui di tempat dan bebaskan setelah selesai. Bagus sekali! 🏁

Gratis untuk memulai

Belajar C++ dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memutar Ulang Graf untuk Mengurangi Overhead” gratis?

Ya — teks lengkap “Memutar Ulang Graf untuk Mengurangi Overhead” 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 “Memutar Ulang Graf untuk Mengurangi Overhead”?

Membagi biaya peluncuran ke seluruh iterasi 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 “Memutar Ulang Graf untuk Mengurangi Overhead” 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. Meluncurkan Kernel dari dalam Kernel
  2. Kapan Paralelisme Dinamis Menguntungkan
  3. Menangkap Pekerjaan ke dalam Graf
  4. Memutar Ulang Graf untuk Mengurangi Overhead
← Kembali ke CUDA Academy