Memparalelkan dan Menyetel Inti
Tambahkan thread dan lakukan autotuning untuk mesin.
Memparalelkan dan Menyetel Inti 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.
Dari Cepat Menjadi Lebih Cepat
Kernel Anda sudah mengungguli Python pada satu inti. Sekarang sebarkan kernel itu ke semua inti dan biarkan Mojo menyetelnya untuk mesin tersebut. ⚡
Mengapa Berjalan Paralel
CPU modern memiliki banyak inti yang menganggur. Paralelisme memungkinkan setiap inti mengerjakan sebagian data pada saat yang sama untuk memperoleh peningkatan kecepatan besar.
Kenali parallelize
parallelize milik Mojo menjalankan potongan perulangan di berbagai utas untuk Anda. Anda memberikan pekerjaan dan jumlah bagian yang harus digunakan untuk membaginya.
from algorithm import parallelizeBungkus Pekerjaan dalam Closure
Nyatakan satu potongan pekerjaan sebagai fungsi kecil. parallelize memanggilnya sekali untuk setiap potongan, masing-masing pada intinya sendiri.
fn work(chunk: Int):
process(chunk)
parallelize[work](num_chunks)Bagi Rentangnya
Bagi data menjadi potongan yang kira-kira sama besar, satu untuk setiap inti. Bagian yang seimbang membuat setiap utas tetap sibuk, bukan membiarkan satu utas tertinggal.
var per_chunk = n // num_chunksSusun SIMD di Atas Utas
Pertahankan perhitungan SIMD di dalam setiap potongan. Kini Anda mendapatkan dua keuntungan sekaligus: banyak inti, yang masing-masing menghitung vektor di setiap instruksi.
Hindari Perlombaan Data
Dua utas yang menulis ke lokasi yang sama menyebabkan perlombaan data. Berikan setiap potongan bagian keluaran sendiri agar penulisan tidak pernah bertabrakan.
Tampilkan Kenop yang Dapat Disetel
Jadikan ukuran ubin dan lebar SIMD sebagai parameter. Dengan kenop tersebut, Anda dapat mencoba banyak pengaturan tanpa menulis ulang kernel.
fn kernel[tile: Int, width: Int]():
passBiarkan Penyetelan Otomatis Mencari
Pengaturan terbaik berbeda-beda pada setiap mesin. Penyetelan otomatis mencoba nilai parameter kandidat, mengukur masing-masing, lalu mempertahankan kombinasi tercepat.
Tetapkan Pilihan Terbaik
Setelah mengetahui ubin dan lebar terbaik, tetapkan keduanya sebagai konfigurasi yang dipilih. Kernel kini dikhususkan untuk perangkat keras Anda.
Verifikasi dalam Pemrosesan Paralel
Jalankan kernel berutas yang telah disetel, lalu bandingkan dengan baseline. Kebenaran harus tetap terjaga ketika banyak inti menulis secara bersamaan.
Pemeriksaan Singkat
Pilih risiko yang sebenarnya saat memparalelkan inti.
Rangkuman
Anda menggunakan paralelisasi pada bagian-bagian yang seimbang, mempertahankan SIMD di dalam masing-masing bagian, menghindari perlombaan data, lalu menyetel parameter secara otomatis. Kini inti tersebut bekerja cepat dengan banyak inti. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memparalelkan dan Menyetel Inti” gratis?
Ya — teks lengkap “Memparalelkan dan Menyetel Inti” 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 “Memparalelkan dan Menyetel Inti”?
Tambahkan thread dan lakukan autotuning untuk mesin. 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 “Memparalelkan dan Menyetel Inti” 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
- Membuat Profil Dasar Python
- Menulis Ulang Jalur Terpanas dalam Mojo
- Memparalelkan dan Menyetel Inti
- Merilis Proyek yang Dipercepat