Mojo Academy · Pelajaran

Fungsi parallelize

Jalankan iterasi perulangan di berbagai thread.

Pelajaran 1 dari 413 langkah

Fungsi parallelize 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.

Satu Inti Tidak Cukup

Perulangan biasa berjalan pada satu inti sementara inti lainnya menganggur. Untuk pekerjaan berat, hal ini menyia-nyiakan sebagian besar CPU Anda.

for i in range(n):
    out[i] = heavy(i)

Sebarkan Pekerjaannya

Paralelisme berarti menyerahkan iterasi perulangan yang berbeda kepada inti yang berbeda agar semuanya bekerja pada waktu yang sama. 🧵

Kenali paralelisasi

Pembantu paralelisasi Mojo menjalankan isi perulangan Anda pada banyak utas, sehingga Anda tidak perlu mengatur utas secara manual.

from algorithm import parallelize

Penutupan Pekerjaan

Anda menulis fungsi kecil yang melakukan pekerjaan untuk satu indeks. Mojo memanggilnya berkali-kali, sekali untuk setiap iterasi.

fn work(i: Int):
    out[i] = heavy(i)

Teruskan Penutupan sebagai Parameter

Penutupan ditempatkan di dalam tanda kurung siku sebagai parameter waktu kompilasi, bukan sebagai argumen pemanggilan biasa. Mojo melakukan spesialisasi berdasarkan penutupan tersebut.

parallelize[work](n)

Jumlahnya Berupa Nilai Waktu Jalan

Angka di dalam tanda kurung menunjukkan jumlah item pekerjaan yang harus dijalankan. Jumlah tersebut merupakan nilai biasa pada waktu jalan.

parallelize[work](num_items)

Minta Inti dari Mesin

Gunakan num_physical_cores dari modul sys untuk mengetahui jumlah inti fisik yang tersedia untuk membagi pekerjaan.

from sys import num_physical_cores

Batasi Jumlah Worker

Argumen kedua opsional menentukan jumlah workers yang berjalan sekaligus. Menyesuaikannya dengan jumlah inti biasanya memberikan hasil terbaik.

parallelize[work](n, num_physical_cores())

Setiap Pemanggilan Saling Independen

parallelize mengasumsikan item pekerjaan tidak bergantung pada urutan satu sama lain. Setiap pemanggilan harus dapat berjalan secara mandiri.

Terbaik untuk Perulangan Berat

Paralelisme sangat bermanfaat ketika setiap item melakukan pekerjaan nyata. Untuk perulangan kecil, overhead utas dapat lebih besar daripada penghematan yang diperoleh.

Ukur Percepatan

Ukur waktu perulangan sebelum dan sesudah diparalelkan. Tolok ukur nyata akan menunjukkan apakah utas tambahan benar-benar membantu.

Pemeriksaan Singkat

Anda ingin menjalankan isi perulangan pada beberapa inti CPU di Mojo.

Rangkuman

Anda mengimpor parallelize, meneruskan penutupan per item sebagai parameter dalam tanda kurung siku dan jumlah item dalam tanda kurung biasa, lalu menyesuaikan jumlah worker dengan inti untuk memperoleh percepatan nyata. 🚀

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 “Fungsi parallelize” gratis?

Ya — teks lengkap “Fungsi parallelize” 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 “Fungsi parallelize”?

Jalankan iterasi perulangan di berbagai thread. 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 “Fungsi parallelize” 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. Fungsi parallelize
  2. Membagi Pekerjaan Menjadi Potongan
  3. Menggabungkan Paralel dan Vektor
  4. Menghindari Data Race
← Kembali ke Mojo Academy