Memberi Parameter pada Tile dan Lebar
Jadikan pengaturan yang dapat disetel sebagai parameter.
Memberi Parameter pada Tile dan Lebar 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.
Pengatur Harus Berupa Parameter
Agar suatu nilai dapat diubah oleh penyetelan otomatis, nilai tersebut harus berupa parameter saat kompilasi, bukan variabel runtime biasa. Parameter dapat dibuat khusus untuk setiap kandidat.
Ukuran Tile sebagai Pengatur
Ukuran tile mengendalikan seberapa besar blok pekerjaan yang diproses sekaligus. Jadikan ini parameter agar penyetel dapat mencoba 16, 32, 64, dan nilai lainnya.
fn process[tile: Int]():
passLebar sebagai Pengatur
Lebar SIMD menentukan berapa banyak angka yang dihitung dalam satu instruksi. Chip yang berbeda mengutamakan lebar yang berbeda, jadi sediakan ini sebagai parameter juga.
fn run[width: Int]():
passMendeklarasikan Parameter
Letakkan nilai yang dapat disetel di dalam daftar kurung fungsi. Setiap entri menjadi pengatur yang boleh diubah oleh penyetel otomatis.
fn kernel[tile: Int, width: Int]():
passMenggunakannya di Dalam
Di dalam isi fungsi, perlakukan parameter seperti konstanta. Kompilator menyematkan nilainya untuk setiap versi khusus yang dibangunnya.
fn step[tile: Int]() -> Int:
return tile * 2Rentang yang Masuk Akal
Pilih nilai kandidat yang masuk akal bagi perangkat keras: pangkat dua seperti 8, 16, 32 untuk lebar, serta block yang ramah cache untuk ukuran tile.
Pertahankan Pengatur Tetap Terpisah
Setiap pengatur harus memiliki satu makna yang jelas. Parameter yang saling terkait membuat pencarian membingungkan dan hasilnya sulit dijelaskan.
Validasi dengan Batasan
Gunakan batasan untuk menolak kombinasi yang mustahil sejak awal, sehingga penyetel tidak membuang waktu membangun kandidat yang tidak dapat bekerja.
constrained[width > 0]()Nilai Bawaan Tetap Membantu
Berikan setiap parameter nilai bawaan yang wajar. Kode tetap dapat digunakan tanpa penyetelan, dan pencarian dimulai dari dasar yang telah terbukti baik.
fn kernel[tile: Int = 32]():
passSemakin Banyak Pengatur, Semakin Besar Ruangnya
Setiap parameter tambahan menggandakan jumlah kandidat yang harus diuji. Sediakan hanya pengatur yang benar-benar penting, bukan setiap angka yang dapat Anda temukan.
Kini Dapat Disetel
Dengan tile dan lebar sebagai parameter, kernel Anda siap: penyetel otomatis memiliki kenop yang jelas untuk diputar saat mencari throughput puncak. 🔧
Pemeriksaan Singkat
Pastikan apa yang membuat suatu nilai dapat disetel oleh penyetel otomatis.
Rangkuman
Anda menyediakan tile dan lebar sebagai parameter saat kompilasi, menambahkan batasan dan nilai bawaan, serta memberikan kenop yang jelas untuk diputar oleh penyetel otomatis. 🎯
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 “Memberi Parameter pada Tile dan Lebar” gratis?
Ya — teks lengkap “Memberi Parameter pada Tile dan Lebar” 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 “Memberi Parameter pada Tile dan Lebar”?
Jadikan pengaturan yang dapat disetel sebagai parameter. 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 “Memberi Parameter pada Tile dan Lebar” 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
- Masalah yang Diselesaikan Autotuning
- Memberi Parameter pada Tile dan Lebar
- Menelusuri Ruang Parameter
- Mengunci Konfigurasi Terbaik