0Pricing
CUDA Academy · Pelajaran

Perulangan Grid-Stride

Tangani larik yang lebih besar daripada grid.

Perulangan Grid-Stride 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.

Saat Lariknya Sangat Besar

Terkadang data jauh lebih besar daripada jumlah utas yang Anda luncurkan. Satu utas per elemen tidak lagi mencukupi, sehingga setiap utas perlu menangani beberapa elemen.

Kisi Memiliki Ukuran

Jumlah total utas adalah ukuran kisi: jumlah blok dikalikan jumlah utas per blok. Langkah ini menentukan jarak antar-elemen yang ditangani setiap utas.

int stride = blockDim.x * gridDim.x;

Mulai, Lalu Melangkah

Setiap utas dimulai dari indeks global biasanya, lalu melompat maju sebesar ukuran kisi berulang kali hingga keluar dari larik.

Perulangan Langkah Kisi

Perulangan ini adalah pola lengkapnya: mulai dari i, melangkah sebesar langkah, lalu berhenti di n. Ukuran larik apa pun tercakup, berapa pun utas yang Anda luncurkan.

for (int i = blockIdx.x * blockDim.x + threadIdx.x;
     i < n;
     i += stride) {
    out[i] = a[i] + b[i];
}

Penjaga Bawaan

Perhatikan bahwa kondisi perulangan i < n itu sendiri merupakan pemeriksaan batas. Utas yang dimulai setelah akhir larik tidak pernah memasuki perulangan.

Cara Pekerjaan Terbagi

Dengan langkah sebesar 4 utas, utas 0 menangani elemen 0, 4, 8, sedangkan utas 1 menangani 1, 5, 9. Pekerjaan ini diselang-selingkan, bukan dibagi menjadi bagian-bagian berurutan.

Penyelang-selingan Membantu Penggabungan Akses

Karena utas yang berdekatan tetap mengakses alamat yang berdekatan pada setiap langkah, akses tetap tergabung dan lebar pita memori tetap tinggi.

Pisahkan Utas dari Data

Sekarang ukuran peluncuran Anda tidak lagi bergantung pada n. Anda dapat memilih jumlah utas yang sesuai dengan GPU dan membiarkan perulangan menangani beban kerja apa pun.

Sesuaikan dengan Perangkat Keras

Pilihan umum adalah menyediakan cukup blok untuk memenuhi setiap multiprosesor, lalu membiarkan setiap utas melakukan perulangan. Dengan demikian GPU tetap sibuk tanpa meluncurkan terlalu banyak utas.

Juga Berfungsi untuk Ukuran Kecil

Jika n lebih kecil daripada kisi, setiap utas menjalankan isi perulangan paling banyak sekali. Pola ini menyesuaikan diri dengan baik menjadi kasus sederhana.

Pilihan Bawaan yang Andal

Banyak pakar CUDA menulis setiap kernel per-elemen sebagai perulangan langkah kisi. Pola ini fleksibel, aman, dan jarang menjadi pilihan yang keliru. 🚀

Pemeriksaan Cepat

Identifikasi langkahnya.

Ringkasan

Anda telah mempelajari perulangan langkah kisi: mulai dari indeks global dan melangkah sebesar blockDim.x * gridDim.x hingga i mencapai n. Kini satu kernel dapat menangani ukuran larik apa pun. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Perulangan Grid-Stride” gratis?

Ya — teks lengkap “Perulangan Grid-Stride” 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 “Perulangan Grid-Stride”?

Tangani larik yang lebih besar daripada grid. 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 “Perulangan Grid-Stride” 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. Rumus Indeks Klasik
  2. Lindungi dari Indeks di Luar Rentang
  3. Bulatkan Jumlah Blok ke Atas
  4. Perulangan Grid-Stride
← Kembali ke CUDA Academy