0Pricing
CUDA Academy · Pelajaran

Tangani Ubin Tepi

Kelola batas dan padding di tepi larik.

Tangani Ubin Tepi 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.

Masalah Batas

Array nyata jarang terbagi secara merata menjadi tile. Tile terakhir di setiap batas mungkin melewati akhir data Anda.

Pembacaan di Luar Rentang

Thread yang indeks globalnya melebihi ukuran array akan membaca data sampah atau menyebabkan program gagal. Tile tepi harus melindungi setiap akses.

Pemeriksaan Batas

Perbaikan paling sederhana adalah pengaman if (gid < n) agar thread yang melewati akhir melewati pemuatannya dan tidak melakukan pekerjaan yang berbahaya.

if (gid < n) tile[local] = in[gid];

Halo di Luar Tepi

Di awal array, halo kiri menunjuk sebelum indeks nol. Tidak ada tetangga nyata di sana, jadi Anda harus menentukan nilai yang akan dimuat.

Strategi: Padding Nol

Salah satu pilihan umum adalah padding nol: perlakukan tetangga yang hilang sebagai 0. Cara ini sederhana dan bekerja baik untuk penjumlahan serta banyak filter.

tile[local] = (gid < n) ? in[gid] : 0.0f;

Strategi: Batasi ke Tepi

Pilihan lainnya adalah membatasi indeks ke sel valid terdekat, sehingga nilai batas diulang. Cara ini mencegah tepian gelap pada gambar.

Pilih Berdasarkan Algoritme

Aturan batas yang tepat bergantung pada matematikanya. Pilih nol, batas, atau putar agar hasil di tepi sesuai dengan yang diharapkan oleh masalah Anda.

Lindungi Keluaran Juga

Bahkan setelah komputasi selesai, thread harus memeriksa sebelum menulis agar tidak pernah menyimpan hasil melewati akhir array keluaran.

if (gid < n) out[gid] = result;

Pertahankan Penghalang yang Seragam

Thread yang berada di luar data tetap harus mencapai __syncthreads. Letakkan pemeriksaan batas di sekitar pemuatan, bukan di sekitar penghalang itu sendiri.

Uji Tepi Terlebih Dahulu

Sebagian besar bug tiling tersembunyi di batas. Selalu uji ukuran yang bukan kelipatan tile, seperti n sama dengan 1000 dengan tile 256.

Benar Dahulu, Cepat Kemudian

Penanganan tepi menambahkan sedikit kode, tetapi menjaga hasil tetap benar untuk setiap ukuran masukan. Pastikan benar terlebih dahulu, lalu kejar kinerja.

Pemeriksaan Singkat

Bagaimana thread harus menangani indeks global yang melewati akhir array?

Rangkuman

Tile tepi memerlukan pemeriksaan batas dan aturan batas (nol, batas, atau putar) agar setiap ukuran array tetap benar. Uji bagian tepinya. ✅

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tangani Ubin Tepi” gratis?

Ya — teks lengkap “Tangani Ubin Tepi” 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 “Tangani Ubin Tepi”?

Kelola batas dan padding di tepi larik. 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 “Tangani Ubin Tepi” 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. Masalah Penggunaan Ulang Data
  2. Pola Muat-Sinkronkan-Hitung
  3. Stencil dan Jendela Geser
  4. Tangani Ubin Tepi
← Kembali ke CUDA Academy