CUDA Academy · Pelajaran

Menelusuri Kernel Langkah demi Langkah di cuda-gdb

Titik henti dan pemeriksaan per utas

Pelajaran 1 dari 413 langkah

Menelusuri Kernel Langkah demi Langkah di cuda-gdb adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Berkenalan dengan cuda-gdb

Saat kernel mengalami masalah, cuda-gdb memungkinkan Anda menjedanya dan melihat bagian dalamnya, sama seperti gdb pada program CPU biasa. 🔍

Bangun dengan Informasi Debug

cuda-gdb memerlukan simbol, jadi kompilasikan kernel Anda dengan -G untuk menambahkan informasi debug perangkat lengkap sebelum melakukan debug.

nvcc -g -G vecadd.cu -o vecadd

Mengapa -G Penting

Flag -G menonaktifkan banyak optimasi agar nomor baris dan variabel tetap akurat, sehingga penelusuran kode perangkat langkah demi langkah dapat dipercaya.

Jalankan Debugger

Mulai sesi dengan memberikan berkas biner Anda kepada cuda-gdb, lalu ketik run untuk menjalankannya di bawah kendali debugger.

cuda-gdb ./vecadd

Tetapkan Titik Henti dalam Kernel

Letakkan titik henti tepat di dalam kernel dengan menyebutkan nama fungsinya, sehingga eksekusi berhenti saat sebuah thread mencapainya.

(cuda-gdb) break vecAddKernel

Banyak Thread, Satu Pemberhentian

Ribuan thread mungkin mencapai titik henti tersebut, jadi cuda-gdb berhenti dan berfokus pada satu thread setiap kali untuk diperiksa.

Telusuri Baris demi Baris

Gunakan next untuk menjalankan baris saat ini dan berhenti pada baris berikutnya, sehingga logika kernel Anda dapat ditelusuri langkah demi langkah.

(cuda-gdb) next

Periksa Variabel

Periksa hasil perhitungan sebenarnya dari sebuah thread dengan meminta cuda-gdb print variabel lokal saat Anda sedang berhenti di dalam kernel.

(cuda-gdb) print i

Ganti Fokus Thread

Alihkan perhatian ke thread tertentu dengan cuda thread, lalu pilih blok dan lajur tepat yang ingin Anda periksa.

(cuda-gdb) cuda block 0 thread 5

Baca Indeks Bawaan

Anda dapat mencetak threadIdx dan blockIdx seperti variabel biasa untuk memastikan elemen data yang ditangani thread ini.

(cuda-gdb) print threadIdx.x

Lanjutkan Eksekusi

Setelah selesai memeriksa, ketik continue untuk melanjutkan program hingga titik henti berikutnya atau hingga program selesai.

(cuda-gdb) continue

Pemeriksaan Singkat

Flag compiler apa yang menambahkan informasi debug perangkat untuk cuda-gdb?

Rangkuman

Anda mengompilasi dengan -G, menetapkan titik henti kernel, menelusuri baris, berganti thread, dan mencetak indeks. Itulah alur inti cuda-gdb. 🎉

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 “Menelusuri Kernel Langkah demi Langkah di cuda-gdb” gratis?

Ya — teks lengkap “Menelusuri Kernel Langkah demi Langkah di cuda-gdb” 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 “Menelusuri Kernel Langkah demi Langkah di cuda-gdb”?

Titik henti dan pemeriksaan per utas 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 1 dari 4.

Berapa lama pelajaran “Menelusuri Kernel Langkah demi Langkah di cuda-gdb” 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. Menelusuri Kernel Langkah demi Langkah di cuda-gdb
  2. Menemukan Kebocoran dengan memcheck
  3. Memburu Perlombaan dengan racecheck
  4. Menangkap Kesalahan Sinkronisasi dengan synccheck
← Kembali ke CUDA Academy