Profil, Optimumkan, Hantar
Menutup kitaran dengan metrik Nsight
Profil, Optimumkan, Hantar ialah pelajaran CUDA Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran CUDA Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus CUDA Academy merangkumi sejumlah 4 pelajaran.
Ukur, Jangan Meneka
Pengoptimuman bermula dengan data, bukan sangkaan. Sentiasa lakukan pemprofilan terlebih dahulu untuk mengetahui ke mana masa sebenarnya digunakan sebelum anda mengubah satu baris pun. 🔍
Mulakan dengan Garis Masa
Buka Nsight Systems untuk melihat keseluruhan pelaksanaan: inti, penyalinan dan jurang. Garis masa menunjukkan sama ada pemindahan dan pengiraan benar-benar bertindih.
Cari Inti Paling Sibuk
Satu peringkat biasanya mendominasi. Garis masa mendedahkan inti yang berjalan paling lama, dan di situlah usaha penalaan anda patut dimulakan.
Zum Masuk dengan Nsight Compute
Bagi inti paling sibuk, beralih kepada Nsight Compute. Ia melaporkan metrik bagi setiap inti seperti daya pemprosesan memori, pegun dan kehunian yang dicapai.
Baca Graf Bumbung
Graf bumbung memberitahu anda sama ada sesuatu inti terhad memori atau terhad pengiraan. Jawapan tunggal itu menentukan pengoptimuman yang berbaloi untuk dicuba.
Baiki Inti yang Terhad Memori
Jika anda terhad memori, usahakan penggabungan akses, penjubinan memori kongsi dan pemuatan terv vektor. Menyuap data dengan lebih pantas ialah satu-satunya jalan kepada kelajuan yang lebih tinggi.
Baiki Inti yang Terhad Pengiraan
Jika anda terhad pengiraan, tingkatkan ILP dengan pengembangan gelung, kurangkan pengiraan berlebihan atau beralih kepada ketepatan lebih rendah. Di sini, unit aritmetik menjadi hadnya.
Labelkan Kod Anda dengan NVTX
Bungkus peringkat saluran paip dalam julat NVTX supaya garis masa memaparkan bar bernama dan bukannya inti tanpa nama. Profil yang mudah dibaca lebih pantas untuk dinyahpepijat.
nvtxRangePush("blur");
blurKernel<<<grid, block>>>(d_in, d_out);
nvtxRangePop();Ubah Satu Perkara pada Satu-satu Masa
Terapkan satu pengoptimuman, kemudian lakukan pemprofilan semula. Gelung yang ketat ini membuktikan setiap perubahan membantu dan menghalang anda daripada mengejar dua kesan serentak.
Tahu Bila Perlu Berhenti
Apabila sesuatu inti menghampiri had graf bumbungnya, penalaan tambahan memberikan sedikit hasil. Kenali pulangan yang semakin berkurang dan gunakan masa anda pada kesesakan seterusnya.
Sahkan, Kemudian Lancarkan
Sebelum keluaran, sahkan ketepatan berbanding rujukan dan periksa bahawa peningkatan kelajuan kekal stabil. Saluran paip yang pantas tetapi salah tidak layak dikeluarkan. 🚢
Semakan Pantas
Nsight Compute menyatakan bahawa inti paling sibuk anda terhad memori. Apakah pembaikan yang patut dicuba dahulu?
Imbas Kembali
Anda telah mempelajari cara melakukan pemprofilan dengan Nsight, membaca graf bumbung untuk mengelaskan inti, menggunakan pembaikan tersasar satu demi satu, serta mengesahkan sebelum melancarkan saluran paip yang pantas dan betul. 🏁
Pelajari C++ dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Profil, Optimumkan, Hantar” percuma?
Ya — teks penuh “Profil, Optimumkan, Hantar” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus CUDA Academy, tingkat taraf kepada CoddyKit PRO. Kursus CUDA Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Profil, Optimumkan, Hantar”?
Menutup kitaran dengan metrik Nsight Anda berlatih CUDA Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan CUDA Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran CUDA Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Profil, Optimumkan, Hantar” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran CUDA Academy ini?
Ya. Setiap pelajaran CUDA Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Mereka Bentuk Saluran Pemprosesan
- Menggabungkan Penapis ke dalam Satu Kernel
- Menstrim Jubin untuk Imej Besar
- Profil, Optimumkan, Hantar