Sahkan Hasil pada CPU
Bandingkan dengan jawapan rujukan.
Sahkan Hasil pada CPU ialah pelajaran CUDA Academy percuma di CoddyKit. Ini ialah pelajaran 3 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.
Percaya, tetapi Sahkan
Kernel yang berjalan tanpa ranap bukan bukti bahawa kernel itu betul. Anda mesti menyemak nombor tersebut kerana pepijat logik yang senyap mudah terlepas pandang. 🔍
Kira Rujukan
Semakan paling mudah ialah gelung CPU biasa yang melakukan pengiraan yang sama. Keputusan rujukan ini ialah sumber kebenaran yang boleh dipercayai.
for (int i = 0; i < n; i++)
ref[i] = h_A[i] + h_B[i];Bandingkan Unsur demi Unsur
Telusuri kedua-dua tatasusunan dan bandingkan setiap keputusan GPU dengan rujukan. Satu gelung merentasi semua unsur n dapat mengesan sebarang nilai yang salah.
for (int i = 0; i < n; i++)
if (h_C[i] != ref[i]) { /* mismatch */ }Nombor Perpuluhan Tidak Tepat
Untuk nombor titik apungan, jangan sekali-kali menguji dengan kesamaan biasa. Perbezaan pembundaran yang kecil bermakna anda patut membandingkan dengan toleransi kecil.
if (fabs(h_C[i] - ref[i]) > 1e-5f) { /* fail */ }Mengapa Toleransi, Bukan Kesamaan
GPU dan CPU mungkin membundarkan dalam susunan yang berbeza, jadi keputusannya boleh berbeza sedikit. Epsilon kecil seperti 1e-5 menyerap hingar yang tidak berbahaya itu.
Kira Ralat
Daripada berhenti pada ketidakpadanan pertama, jejak kiraan ralat. Mengetahui bilangan unsur yang gagal memberikan petunjuk tentang jenis pepijat yang berlaku.
int errors = 0;
if (fabs(h_C[i] - ref[i]) > 1e-5f) errors++;Paparkan Keputusan yang Jelas
Akhiri dengan satu mesej yang jujur dan jelas. Satu baris PASS atau FAIL yang mudah difahami menyelamatkan anda daripada meneliti tatasusunan mentah.
printf(errors == 0 ? "PASS\n" : "FAIL: %d\n", errors);Semak Sampel di Hujung
Pepijat sempadan sering berlaku pada unsur pertama dan terakhir. Mencetak C[0] dan C[n-1] ialah semakan pantas sebelum gelung penuh.
Petanda Terlebih atau Terkurang Satu
Jika tepat unsur terakhir sahaja yang salah, syaki pengiraan sempadan anda. Bilangan blok atau pengawal yang salah sering menyebabkan bebenang terakhir tercicir.
Sahkan Sebelum Mengoptimumkan
Sentiasa sahkan ketepatan sebelum menala kelajuan. Kernel pantas yang mengembalikan jawapan salah lebih teruk daripada kernel betul yang perlahan.
Kekalkan Semakan
Kekalkan langkah pengesahan semasa pembangunan. Langkah ini ialah ujian regresi anda yang mengesan kesilapan sebaik sahaja anda mengubah kernel.
Semakan Pantas
Bagaimanakah anda patut membandingkan keputusan GPU titik apungan dengan rujukan CPU?
Rumusan
Anda telah mengesahkan keputusan: rujukan CPU, perbandingan toleransi, kiraan ralat, dan PASS atau FAIL yang jelas. Ketepatan sentiasa diutamakan. ✅
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 “Sahkan Hasil pada CPU” percuma?
Ya — teks penuh “Sahkan Hasil pada CPU” 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 “Sahkan Hasil pada CPU”?
Bandingkan dengan jawapan rujukan. 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 3 daripada 4.
Berapa lamakah pelajaran “Sahkan Hasil pada CPU” 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
- Kernel Tambah Vektor
- Sambungkan Bahagian Hos
- Sahkan Hasil pada CPU
- Ukur Peningkatan Kelajuan Pertama Anda