Menangkap Pekerjaan ke dalam Graf
Merekam aliran ke dalam graf CUDA
Menangkap Pekerjaan ke dalam Graf adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.
Pengertian CUDA Graph
CUDA graph merekam seluruh rangkaian kernel dan penyalinan sebagai satu unit pekerjaan yang dapat digunakan kembali dan dikirimkan berulang kali.
Peluncuran Terakumulasi
Setiap peluncuran kernel memiliki beban tambahan kecil pada CPU. Dalam ribuan peluncuran per iterasi, biaya tersebut menjadi signifikan.
Definisikan Sekali, Jalankan Berkali-kali
Graph memungkinkan Anda menjelaskan pekerjaan sekali, lalu memutarnya kembali dengan biaya rendah karena biaya penyiapan hanya dibayar satu kali.
Mode Perekaman Stream
Cara termudah untuk membuatnya adalah perekaman stream: Anda merekam peluncuran normal yang sudah Anda lakukan ke dalam sebuah stream.
cudaStreamBeginCapture(stream, cudaStreamCaptureModeGlobal);Kirimkan Pekerjaan Seperti Biasa
Di antara awal dan akhir, Anda meluncurkan kernel dan penyalinan seperti biasa. Belum ada yang dijalankan; operasi tersebut hanya direkam, bukan dieksekusi.
kernelA<<<g, b, 0, stream>>>(d);
kernelB<<<g, b, 0, stream>>>(d);Akhiri Perekaman
Anda menghentikan perekaman dengan cudaStreamEndCapture, yang mengembalikan cudaGraph_t yang menjelaskan seluruh pekerjaan.
cudaGraph_t graph;
cudaStreamEndCapture(stream, &graph);Dependensi Disimpulkan
Perekaman secara otomatis menentukan dependensi antaroperasi berdasarkan cara Anda menggunakan stream.
Buat Instans Sebelum Menjalankan
Graph hanyalah sebuah deskripsi. Anda harus mengompilasinya menjadi objek eksekusi graph yang dapat dijalankan sebelum meluncurkannya.
cudaGraphExec_t exec;
cudaGraphInstantiate(&exec, graph, 0);Membangun Graph Secara Manual
Anda juga dapat menambahkan node secara eksplisit dengan API graph untuk mengendalikan struktur dan sisi sepenuhnya.
cudaGraphAddKernelNode(&n, graph, deps, 1, ¶ms);Beberapa Stream, Satu Graph
Perekaman dapat mencakup beberapa stream, sehingga cabang independen yang berjalan secara bersamaan semuanya masuk ke graph yang sama.
Gunakan Kembali dalam Banyak Iterasi
Setelah dibuat instansnya, objek eksekusi yang sama diluncurkan berulang kali. Di sinilah graph benar-benar memberikan manfaat.
Pemeriksaan Singkat
Apa yang dihasilkan oleh cudaStreamEndCapture?
Ringkasan: Merekam Graph
Bungkus peluncuran dalam perekaman stream untuk merekam cudaGraph_t, buat instansnya satu kali, dan biarkan perekaman menyimpulkan dependensinya untuk Anda. Kemajuan Anda sangat baik! 🎉
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 “Menangkap Pekerjaan ke dalam Graf” gratis?
Ya — teks lengkap “Menangkap Pekerjaan ke dalam Graf” 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 “Menangkap Pekerjaan ke dalam Graf”?
Merekam aliran ke dalam graf CUDA 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 3 dari 4.
Berapa lama pelajaran “Menangkap Pekerjaan ke dalam Graf” 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
- Meluncurkan Kernel dari dalam Kernel
- Kapan Paralelisme Dinamis Menguntungkan
- Menangkap Pekerjaan ke dalam Graf
- Memutar Ulang Graf untuk Mengurangi Overhead