CUDA Academy · Pelajaran

Profil, Optimumkan, Hantar

Menutup kitaran dengan metrik Nsight

Pelajaran 4 daripada 413 langkah

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. 🏁

Percuma untuk bermula

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

  1. Mereka Bentuk Saluran Pemprosesan
  2. Menggabungkan Penapis ke dalam Satu Kernel
  3. Menstrim Jubin untuk Imej Besar
  4. Profil, Optimumkan, Hantar
← Kembali ke CUDA Academy