CUDA Academy · Pelajaran

Verifikasi Hasil pada CPU

Bandingkan dengan jawaban acuan.

Pelajaran 3 dari 413 langkah

Verifikasi Hasil pada CPU adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Percaya, tetapi Verifikasi

Kernel yang berjalan tanpa mengalami kerusakan bukanlah bukti bahwa kernel tersebut benar. Anda harus memeriksa angkanya, karena bug logika yang tidak terlihat mudah terlewatkan. 🔍

Hitung Nilai Acuan

Pemeriksaan paling sederhana adalah perulangan CPU biasa yang melakukan perhitungan yang sama. Hasil acuan ini adalah sumber kebenaran yang tepercaya.

for (int i = 0; i < n; i++)
    ref[i] = h_A[i] + h_B[i];

Bandingkan Elemen demi Elemen

Telusuri kedua array dan bandingkan setiap hasil GPU dengan hasil acuan. Satu perulangan atas semua elemen n dapat menemukan nilai yang salah.

for (int i = 0; i < n; i++)
    if (h_C[i] != ref[i]) { /* mismatch */ }

Bilangan Pecahan Tidak Eksak

Untuk bilangan pecahan, jangan pernah melakukan pengujian dengan kesamaan biasa. Perbedaan pembulatan kecil berarti Anda sebaiknya membandingkan dengan toleransi kecil.

if (fabs(h_C[i] - ref[i]) > 1e-5f) { /* fail */ }

Mengapa Toleransi, Bukan Kesamaan

GPU dan CPU mungkin melakukan pembulatan dalam urutan yang berbeda, sehingga hasilnya dapat sedikit berbeda. epsilon kecil seperti 1e-5 menyerap perbedaan yang tidak berbahaya itu.

Hitung Galatnya

Daripada berhenti pada ketidakcocokan pertama, catat jumlah galat. Mengetahui berapa banyak elemen yang gagal dapat memberi petunjuk tentang jenis bug yang Anda miliki.

int errors = 0;
if (fabs(h_C[i] - ref[i]) > 1e-5f) errors++;

Cetak Keputusan yang Jelas

Akhiri dengan satu pesan yang jujur. Baris PASS atau FAIL yang jelas menghindarkan Anda dari keharusan menyipitkan mata melihat array mentah.

printf(errors == 0 ? "PASS\n" : "FAIL: %d\n", errors);

Periksa Sekilas Bagian Tepi

Bug batas sering muncul pada elemen pertama dan terakhir. Mencetak C[0] dan C[n-1] adalah pemeriksaan kewajaran singkat sebelum perulangan lengkap.

Petunjuk Kesalahan Satu Posisi

Jika tepat elemen terakhir yang salah, curigai perhitungan batas Anda. Jumlah blok atau penjagaan yang salah sering membuat thread terakhir terlewat.

Verifikasi Sebelum Mengoptimalkan

Selalu pastikan kebenaran sebelum mengatur kecepatan. Kernel cepat yang menghasilkan jawaban salah lebih buruk daripada kernel lambat yang benar.

Pertahankan Pemeriksaannya

Biarkan langkah verifikasi tetap ada selama pengembangan. Ini adalah pengujian regresi Anda, yang menangkap kesalahan segera setelah Anda mengubah kernel.

Pemeriksaan Cepat

Bagaimana seharusnya Anda membandingkan hasil GPU bilangan pecahan dengan acuan CPU?

Ringkasan

Anda telah memverifikasi hasilnya: acuan CPU, perbandingan dengan toleransi, jumlah galat, dan PASS atau FAIL yang jelas. Utamakan kebenaran, selalu. ✅

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 “Verifikasi Hasil pada CPU” gratis?

Ya — teks lengkap “Verifikasi Hasil pada CPU” 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 “Verifikasi Hasil pada CPU”?

Bandingkan dengan jawaban acuan. 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 3 dari 4.

Berapa lama pelajaran “Verifikasi Hasil pada CPU” 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 Penjumlahan Vektor
  2. Hubungkan Sisi Host
  3. Verifikasi Hasil pada CPU
  4. Ukur Percepatan Pertama Anda
← Kembali ke CUDA Academy