Mojo Academy · Pelajaran

Anatomi Kernel Komputasi

Perulangan dalam terpanas yang melakukan pekerjaan.

Pelajaran 1 dari 413 langkah

Anatomi Kernel Komputasi adalah pelajaran Mojo 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 Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.

Apa Itu Kernel?

Kernel komputasi adalah rutin kecil dan terfokus yang mengerjakan pekerjaan numerik sebenarnya, seperti menjumlahkan dua array elemen demi elemen.

Loop Dalam yang Panas

Sebagian besar waktu kernel dihabiskan dalam satu loop dalam yang rapat. Percepat loop tersebut dan Anda mempercepat seluruh program.

for i in range(n):
    out[i] = a[i] + b[i]

Input dan Output

Kernel yang bersih menerima buffer datanya sebagai parameter, sehingga rutin yang sama dapat dijalankan pada array apa pun yang Anda berikan.

fn add(a: UnsafePointer[Float32], b: UnsafePointer[Float32], out: UnsafePointer[Float32], n: Int):
    pass

Gunakan fn untuk Keketatan

Kernel ditulis dengan fn, bukan def. Gaya yang ketat dan bertipe memungkinkan Mojo mengompilasi kode mesin yang rapat tanpa kejutan.

fn kernel(n: Int):
    pass

Jaga Body Tetap Kecil

Kernel tercepat mengerjakan satu hal. Body dalam yang singkat dan dapat diprediksi mudah dioptimalkan secara agresif oleh kompilator.

Jangan Ada Kejutan di Dalam

Hindari pekerjaan berat seperti alokasi atau I/O di dalam loop panas. Setiap iterasi harus murah dan seragam demi throughput maksimum.

Hitung Pekerjaannya

Pikirkan dalam bentuk total operasi. Kernel atas n elemen melakukan kira-kira n unit pekerjaan, sehingga n menentukan biayanya.

Memori Adalah Batasnya

Banyak kernel tidak dibatasi oleh komputasi, melainkan oleh memori. Kernel menunggu data, sehingga cara Anda memindahkan byte sering kali paling penting.

Rancang untuk Vektorisasi

Rancang loop agar setiap langkah nantinya dapat memproses banyak elemen dengan SIMD. Pola akses yang teratur memudahkan vektorisasi.

Kernel Saxpy Kecil

Kernel klasik adalah saxpy: out = scale kali a ditambah b. Kernel ini kecil, teratur, dan merupakan baseline yang bagus untuk dioptimalkan.

for i in range(n):
    out[i] = scale * a[i] + b[i]

Ukur Sebelum Mengoptimalkan

Mulailah dengan versi sederhana yang benar dan ukur waktunya. Angka tersebut adalah baseline Anda untuk setiap pengoptimalan berikutnya.

Pemeriksaan Singkat

Anda akan mengoptimalkan sebuah kernel. Ke mana hampir seluruh waktunya digunakan?

Rangkuman

Kernel adalah fn kecil yang loop dalamnya mengerjakan tugas; jaga agar seragam, perhatikan memori, dan ukur baseline terlebih dahulu. 🔧

Gratis untuk memulai

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 “Anatomi Kernel Komputasi” gratis?

Ya — teks lengkap “Anatomi Kernel Komputasi” 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 “Anatomi Kernel Komputasi”?

Perulangan dalam terpanas yang melakukan pekerjaan. 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 1 dari 4.

Berapa lama pelajaran “Anatomi Kernel Komputasi” 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

  1. Anatomi Kernel Komputasi
  2. Menggabungkan SIMD dengan Perulangan
  3. Mengurangi Lalu Lintas Memori
  4. Tiling untuk Lokalisasi Cache
← Kembali ke Mojo Academy