CUDA Academy · Pelajaran

Ukur Percepatannya

Bandingkan kinerja pendekatan naif dan berubin.

Pelajaran 4 dari 413 langkah

Ukur Percepatannya 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.

Buktikan Keuntungannya

Anda telah membuat kernel berubin, tetapi seberapa cepat sebenarnya? Pengukuran mengubah perkiraan menjadi angka yang dapat Anda percayai. 📊

Waktu pada Jam GPU

Gunakan peristiwa CUDA untuk mengukur waktu kernel. Peristiwa tersebut berada di aliran GPU dan mengukur dengan tepat kapan pekerjaan dimulai dan selesai.

cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);

Mengapit Kernel

Catat satu peristiwa sebelum peluncuran dan satu lagi setelahnya, lalu lakukan sinkronisasi agar pengukuran waktu benar-benar menunggu GPU selesai.

cudaEventRecord(start);
matmul<<<g,b>>>(...);
cudaEventRecord(stop);
cudaEventSynchronize(stop);

Membaca Waktu Berlalu

Minta selisih antara kedua peristiwa dalam milidetik. Angka tunggal tersebut adalah waktu jalan kernel yang terukur.

float ms;
cudaEventElapsedTime(&ms, start, stop);

Lakukan Pemanasan Dahulu

Peluncuran pertama menanggung biaya penyiapan satu kali. Jalankan kernel pemanasan sebelum mengukur waktu agar Anda mengukur kecepatan kondisi stabil, bukan waktu awal.

Rata-ratakan Beberapa Putaran

Satu sampel mudah dipengaruhi gangguan. Ukur waktu kernel beberapa kali dan ambil rata-rata untuk mendapatkan hasil yang stabil dan jujur.

Menghitung Percepatan

Percepatan hanyalah waktu naif dibagi waktu berubin. Nilai 4x berarti kernel berubin berjalan empat kali lebih cepat.

float speedup = naive_ms / tiled_ms;

Berpikir dalam GFLOPS

Perkalian matriks melakukan sekitar 2 * N^3 operasi titik mengambang. Bagilah jumlah tersebut dengan waktu Anda untuk melaporkan kinerja dalam GFLOPS, tolok ukur standar.

double gflops = (2.0*N*N*N) / (ms * 1e6);

Mengapa Teknik Ubin Unggul

Percepatan berasal dari pengurangan besar-besaran lalu lintas memori global. Penggunaan ulang dalam memori bersama membuat inti tetap sibuk, bukan menunggu pemuatan yang lambat.

Selalu Verifikasi Kebenaran

Jawaban yang cepat tetapi salah tidak berguna. Bandingkan hasil GPU Anda dengan referensi CPU sebelum merayakan percepatan. ✅

Kenali Batas Anda

Bahkan perkalian matriks berubin masih lebih lambat daripada cuBLAS yang dioptimalkan secara khusus. Mengetahui selisihnya memberi tahu Anda kapan harus mengoptimalkan lebih lanjut dan kapan harus menggunakan pustaka.

Pemeriksaan Singkat

Ingat alat yang tepat untuk mengukur waktu kernel GPU.

Ringkasan

Anda mengukur waktu dengan peristiwa CUDA, melakukan pemanasan, menghitung rata-rata, menghitung percepatan dan GFLOPS, serta memverifikasi kebenaran. Kini Anda dapat membuktikan hasil pengoptimalan Anda. 🏁

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 “Ukur Percepatannya” gratis?

Ya — teks lengkap “Ukur Percepatannya” 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 “Ukur Percepatannya”?

Bandingkan kinerja pendekatan naif dan berubin. 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 “Ukur Percepatannya” 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. Kernel Matmul Naif
  2. Bagi Hasil Kali Dalam Menjadi Ubin
  3. Lakukan Perulangan pada Tahap Ubin
  4. Ukur Percepatannya
← Kembali ke CUDA Academy