Thread, Blok, dan Grid
Model eksekusi GPU.
Thread, Blok, dan Grid adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Worker Terkecil
GPU menjalankan kernel Anda sebagai banyak worker kecil. Setiap worker tunggal adalah sebuah utas, dan biasanya menangani satu bagian data.
Mengelompokkan Utas
Utas diatur ke dalam sebuah blok. Utas dalam blok yang sama dapat bekerja sama dan berbagi memori cepat pada chip.
Semua Blok Bersama-sama
Semua blok untuk satu peluncuran kernel membentuk grid. Grid adalah seluruh kumpulan worker yang menangani masalah Anda secara keseluruhan.
Hierarki Sederhana
Modelnya tersusun rapi: utas berada di dalam blok, dan blok berada di dalam grid. Tiga tingkat menjelaskan setiap peluncuran.
Setiap Utas Memiliki ID
Setiap utas dapat menanyakan posisinya. Indeks utas memberi tahu elemen data mana yang menjadi tanggung jawabnya.
var tid = thread_idx.xSetiap Blok Juga Memiliki ID
Nomor juga diberikan pada setiap blocks. Sebuah thread menggabungkan id block-nya dengan id lokalnya untuk menemukan posisi yang unik.
var bid = block_idx.xMenghitung Indeks Global
Rumus klasik memetakan setiap thread ke satu elemen global. Indeks global ini adalah cara kernel membagi array.
var i = block_idx.x * block_dim.x + thread_idx.xMemilih Ukuran Block
Anda menentukan berapa banyak thread yang berada dalam sebuah block. Ukuran yang tepat membuat perangkat keras tetap sibuk tanpa membuang sumber daya.
Memilih Ukuran Grid
Grid harus mencakup semua data Anda. Tentukan ukurannya agar hasil perkalian thread dan block menjangkau setiap elemen yang diperlukan.
var blocks = (n + 255) // 256Menjaga Batas Tepi
Grid sering meluncurkan beberapa thread tambahan. Pemeriksaan batas sederhana mencegah thread tersebut menyentuh memori setelah akhir array.
if i < n:
out[i] = a[i] + b[i]Mengapa Bentuk Ini Membantu
Block memungkinkan kelompok berbagi memori dan melakukan sinkronisasi, sedangkan grid dapat diskalakan ke ukuran apa pun. Struktur ini memetakan pekerjaan ke perangkat keras dengan rapi.
Pemeriksaan Singkat
Sebuah thread memerlukan posisi elemennya di seluruh array.
Rangkuman
Thread dikelompokkan menjadi block, block membentuk grid, dan penggabungan id-nya memberikan setiap pekerja indeks global yang unik. 🧵
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Thread, Blok, dan Grid” gratis?
Ya — teks lengkap “Thread, Blok, dan Grid” 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 “Thread, Blok, dan Grid”?
Model eksekusi GPU. 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 2 dari 4.
Berapa lama pelajaran “Thread, Blok, dan Grid” 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
- Mengapa GPU untuk Beban Kerja Kecerdasan Buatan
- Thread, Blok, dan Grid
- Menulis Fungsi Kernel GPU
- Memindahkan Data ke dan dari Perangkat