Memverifikasi Kebenaran Numerik
Periksa hasil terhadap acuan.
Memverifikasi Kebenaran Numerik adalah pelajaran Mojo 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 Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.
Cepat tetapi Salah Itu Sia-sia
Kernel yang dioptimalkan hanya berguna jika menghitung jawaban yang benar. Selalu verifikasi sebelum mempercayai peningkatan kecepatannya.
Pertahankan Acuan
Simpan versi yang sederhana dan jelas kebenarannya. Versi itu adalah acuan Anda, sumber kebenaran yang harus dicocokkan oleh setiap kernel cepat.
Bilangan Pecahan Tidak Eksak
Perhitungan titik mengambang melakukan pembulatan, sehingga pengubahan urutan penjumlahan dapat mengubah beberapa digit terakhir. Hasil yang dioptimalkan mungkin sedikit berbeda tanpa menjadi salah.
Hindari Kesamaan Eksak
Karena pembulatan, jangan pernah membandingkan float dengan ==. Perbedaan kecil dapat membuat kode yang benar terlihat rusak.
if fast == ref: # fragile, avoidBandingkan dengan Toleransi
Sebagai gantinya, periksa apakah nilainya cukup dekat dalam toleransi kecil. Jika selisihnya di bawah epsilon, anggap nilainya sama.
if abs(fast - ref) <= 1e-5:
pass # close enoughGalat Absolut vs Relatif
Galat absolut adalah selisih mentah; galat relatif menyesuaikannya berdasarkan besarnya nilai. Angka besar memerlukan pemeriksaan relatif agar perbandingan tetap adil.
rel = abs(fast - ref) / abs(ref)Periksa Setiap Elemen
Telusuri seluruh hasil dan uji setiap sel. Satu ketidakcocokan yang melampaui toleransi berarti optimisasi telah merusak sesuatu.
for i in range(n):
if abs(fast[i] - ref[i]) > tol:
print("mismatch at", i)Lacak Selisih Terbesar
Catat perbedaan terbesar yang Anda temukan. Galat maksimum di seluruh elemen adalah satu angka kesehatan yang jelas untuk kernel tersebut.
Uji Kasus Tepi
Cobalah input kosong, satu elemen, dan ukuran ganjil yang tidak terbagi rata oleh lebar SIMD. Kasus tepi dengan cepat mengungkap bug pada bagian ekor.
Gunakan Jawaban yang Diketahui
Kalikan dengan matriks identitas atau jumlahkan vektor yang berisi angka satu. Input yang mudah diprediksi menghasilkan jawaban yang dapat Anda verifikasi secara manual.
Otomatiskan Pemeriksaan
Bungkus verifikasi dalam pengujian kecil yang segera gagal jika ada ketidakcocokan. Jalankan setelah setiap perubahan agar regresi tidak pernah terlewat.
Pemeriksaan Singkat
Matmul SIMD Anda berbeda dari acuan sebesar 0.0000007. Apa yang harus Anda simpulkan?
Rangkuman
Verifikasi kode cepat terhadap acuan tepercaya, bandingkan dengan toleransi alih-alih ==, periksa kasus tepi dan jawaban yang diketahui, lalu otomatiskan prosesnya. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memverifikasi Kebenaran Numerik” gratis?
Ya — teks lengkap “Memverifikasi Kebenaran Numerik” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memverifikasi Kebenaran Numerik”?
Periksa hasil terhadap acuan. Kamu berlatih Mojo 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 Mojo Academy?
Tidak diperlukan pengalaman sebelumnya. Mojo 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 “Memverifikasi Kebenaran Numerik” 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 Mojo Academy ini?
Ya. Setiap pelajaran Mojo 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
- Memodelkan Tensor di Mojo
- Membangun Matmul Langkah demi Langkah
- Mengoptimalkan Hasil Kali Dalam
- Memverifikasi Kebenaran Numerik