Membuat Profil, Mengoptimalkan, Mengirimkan
Menutup siklus dengan metrik Nsight
Membuat Profil, Mengoptimalkan, Mengirimkan 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.
Ukur, Jangan Menebak
Pengoptimalan dimulai dari data, bukan dugaan. Selalu lakukan pembuatan profil terlebih dahulu untuk mengetahui ke mana waktu sebenarnya digunakan sebelum mengubah satu baris pun. 🔍
Mulai dari Linimasa
Buka Nsight Systems untuk melihat seluruh proses: kernel, penyalinan, dan jeda. Linimasa menunjukkan apakah transfer dan perhitungan benar-benar saling menindih.
Temukan Kernel Terpanas
Biasanya satu tahapan paling mendominasi. Linimasa menampilkan kernel yang berjalan paling lama, dan di situlah upaya penyetelan Anda harus dimulai.
Perbesar dengan Nsight Compute
Untuk kernel terpanas, beralihlah ke Nsight Compute. Alat ini melaporkan metrik per kernel seperti laju pemrosesan memori, penghentian, dan okupansi yang tercapai.
Baca Grafik Atap
Grafik atap memberi tahu apakah sebuah kernel terbatas memori atau terbatas perhitungan. Jawaban tunggal tersebut menentukan pengoptimalan mana yang layak dicoba.
Perbaiki Kernel yang Terbatas Memori
Jika Anda terbatas oleh memori, upayakan penggabungan akses, penggunaan ubin memori bersama, dan pemuatan terv vektorisasi. Menyuplai data lebih cepat adalah satu-satunya jalan menuju kecepatan yang lebih tinggi.
Perbaiki Kernel yang Terbatas Perhitungan
Jika Anda terbatas oleh perhitungan, tingkatkan ILP dengan membuka gulungan perulangan, kurangi operasi matematika yang berlebihan, atau gunakan presisi yang lebih rendah. Di sini, unit aritmetika menjadi batasnya.
Beri Label pada Kode dengan NVTX
Bungkus tahapan alur pemrosesan dalam rentang NVTX agar linimasa menampilkan batang bernama, bukan kernel tanpa nama. Profil yang mudah dibaca lebih cepat untuk diperbaiki.
nvtxRangePush("blur");
blurKernel<<<grid, block>>>(d_in, d_out);
nvtxRangePop();Ubah Satu Hal pada Satu Waktu
Terapkan satu pengoptimalan, lalu buat profil ulang. Perulangan singkat ini membuktikan bahwa setiap perubahan memberikan manfaat dan mencegah Anda mengejar dua dampak sekaligus.
Ketahui Kapan Harus Berhenti
Saat sebuah kernel mendekati batas grafik atapnya, penyetelan lebih lanjut hanya memberikan sedikit hasil. Kenali hasil yang semakin berkurang dan gunakan waktu Anda untuk hambatan berikutnya.
Validasi, Lalu Rilis
Sebelum dirilis, pastikan kebenarannya terhadap acuan dan periksa apakah peningkatan kecepatannya stabil. Alur pemrosesan yang cepat tetapi salah tidak layak dirilis. 🚢
Pemeriksaan Cepat
Nsight Compute menyatakan bahwa kernel terpanas Anda terbatas oleh memori. Perbaikan mana yang harus Anda coba terlebih dahulu?
Rangkuman
Anda telah mempelajari cara membuat profil dengan Nsight, membaca grafik atap untuk mengklasifikasikan kernel, menerapkan perbaikan yang terarah satu per satu, serta melakukan validasi sebelum merilis alur pemrosesan yang cepat dan benar. 🏁
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membuat Profil, Mengoptimalkan, Mengirimkan” gratis?
Ya — teks lengkap “Membuat Profil, Mengoptimalkan, Mengirimkan” 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 “Membuat Profil, Mengoptimalkan, Mengirimkan”?
Menutup siklus dengan metrik Nsight 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 “Membuat Profil, Mengoptimalkan, Mengirimkan” 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
- Merancang Alur Pemrosesan
- Menggabungkan Filter ke dalam Satu Kernel
- Mengalirkan Tile untuk Gambar Besar
- Membuat Profil, Mengoptimalkan, Mengirimkan