parallelize İşlevi
Döngü yinelemelerini iş parçacıkları arasında çalıştırın.
parallelize İşlevi, CoddyKit'te ücretsiz bir Mojo Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Mojo Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Mojo Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
One Core Is Not Enough
A plain loop runs on a single core while the rest sit idle. For heavy work, that wastes most of your CPU.
for i in range(n):
out[i] = heavy(i)Spread the Work
Parallelism means handing different loop iterations to different cores so they all work at the same time. 🧵
Meet parallelize
Mojo's parallelize helper runs your loop body across many threads for you, so you skip the manual thread plumbing.
from algorithm import parallelizeThe Work Closure
You write a small function that does the work for one index. Mojo calls it many times, once per iteration.
fn work(i: Int):
out[i] = heavy(i)Pass the Closure as a Parameter
The closure goes in square brackets as a compile-time parameter, not as a normal call argument. Mojo specializes on it.
parallelize[work](n)The Count Is Runtime
The number in the parentheses is how many work items to run. That count is an ordinary runtime value.
parallelize[work](num_items)Ask the Machine for Cores
Use num_physical_cores from the sys module to learn how many real cores you have to spread work across.
from sys import num_physical_coresCap the Worker Count
An optional second argument sets how many workers run at once. Matching it to your cores often works best.
parallelize[work](n, num_physical_cores())Each Call Is Independent
parallelize assumes work items do not depend on each other's order. Each call should stand on its own.
Best for Heavy Loops
Parallelism shines when each item does real work. For tiny loops, the thread overhead can cost more than it saves.
Measure the Speedup
Time the loop before and after going parallel. A real benchmark tells you whether the extra threads actually helped.
Quick Check
You want to run a loop body across several CPU cores in Mojo.
Recap
You import parallelize, pass a per-item closure as a bracket parameter and the count in parentheses, then size workers to your cores for a real speedup. 🚀
Sıkça Sorulan Sorular
“parallelize İşlevi” dersi ücretsiz mi?
Evet — “parallelize İşlevi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Mojo Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Mojo Academy kursu toplamda 4 dersten oluşur.
“parallelize İşlevi” dersinde ne öğreneceğim?
Döngü yinelemelerini iş parçacıkları arasında çalıştırın. Mojo Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Mojo Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Mojo Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“parallelize İşlevi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Mojo Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Mojo Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- parallelize İşlevi
- İşi Parçalara Bölme
- Paralelliği ve Vektörleştirmeyi Birleştirme
- Veri Yarışlarından Kaçınma