Menulis Fungsi Kernel GPU
Nyatakan kode perangkat dalam Mojo.
Menulis Fungsi Kernel GPU adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.
Apa Itu Kernel
Kernel GPU adalah fungsi yang dijalankan oleh setiap thread. Anda menulis pekerjaan untuk satu elemen, lalu perangkat keras mengulanginya pada banyak elemen.
Bayangkan Satu Thread
Triknya adalah menulis kernel dari sudut pandang satu thread. Setiap thread mengerjakan bagian kecilnya sendiri dari pekerjaan.
Kernel Hanyalah Sebuah Fungsi
Dalam Mojo, kernel adalah sebuah fungsi biasa. Sifatnya yang ketat dan bertipe jelas persis seperti yang diperlukan kode perangkat agar dapat dikompilasi dengan cepat.
fn add_kernel():
passMeneruskan Buffer
Kernel menerima pointer ke memori perangkat sebagai parameter. Buffer ini menyimpan input dan output yang akan diisinya.
fn add_kernel(a: UnsafePointer[Float32], out: UnsafePointer[Float32]):
passMenemukan Indeks Thread Ini
Di dalam kernel, setiap thread terlebih dahulu menghitung posisinya sendiri. Indeks tersebut menentukan elemen mana yang harus diprosesnya.
var i = block_idx.x * block_dim.x + thread_idx.xMenjaga Batas
Selalu periksa indeks sebelum mengakses memori. Pemeriksaan batas mencegah thread yang tidak semestinya membaca melewati array.
if i < n:
out[i] = a[i] + b[i]Mengerjakan Elemen
Isi kernel sangat kecil: baca input, lakukan perhitungan, lalu tulis satu hasil. Seluruh kernel sering kali cukup ditulis dalam satu baris perhitungan.
out[i] = a[i] * b[i]Meluncurkan Kernel
Anda meluncurkannya dengan memilih grid dan ukuran block. Peluncuran tersebut menyebarkan kode untuk satu thread ke seluruh grid.
ctx.enqueue_function[add_kernel](grid_dim=blocks, block_dim=256)Tanpa Nilai Kembalian
Kernel tidak mengembalikan hasil kepada pemanggil. Kernel menulis ke buffer output, yang kemudian Anda baca kembali.
Minimalkan Percabangan
Thread bekerja paling baik secara serempak. Percabangan yang berat membuat lajur berjalan berbeda dan saling menunggu, jadi buat logika kernel tetap sederhana dan seragam.
Gagasan Sama, Skala Besar
Satu kernel singkat ditambah grid besar menghasilkan jutaan hasil. Skala tersebut berasal dari peluncuran, bukan dari kode yang lebih panjang.
Pemeriksaan Singkat
Anda sedang menulis isi kernel GPU untuk satu thread.
Rangkuman
Kernel adalah fungsi untuk satu thread: temukan indeks Anda, jaga batas, lakukan perhitungan satu elemen, lalu luncurkan pada sebuah grid. ⚡
Belajar Mojo 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 “Menulis Fungsi Kernel GPU” gratis?
Ya — teks lengkap “Menulis Fungsi Kernel GPU” 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 “Menulis Fungsi Kernel GPU”?
Nyatakan kode perangkat dalam Mojo. 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 3 dari 4.
Berapa lama pelajaran “Menulis Fungsi Kernel GPU” 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