0Pricing
Mojo Academy · درس

توازي النواة وضبطها

أضف الخيوط واضبط التنفيذ تلقائيًا للآلة

توازي النواة وضبطها درس مجاني في Mojo Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Mojo Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Mojo Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

From Fast to Faster

Your kernel already beats Python on one core. Now spread it across all your cores and let Mojo tune it for the machine. ⚡

Why Go Parallel

Modern CPUs have many cores sitting idle. Parallelism lets each core work on part of the data at the same time for a big speedup.

Meet parallelize

Mojo's parallelize runs loop chunks across threads for you. You give it the work and how many pieces to split it into.

from algorithm import parallelize

Wrap Work in a Closure

Express one chunk of work as a small function. parallelize calls it once per chunk, each on its own core.

fn work(chunk: Int):
    process(chunk)
parallelize[work](num_chunks)

Split the Range

Divide the data into roughly equal chunks, one per core. Balanced pieces keep every thread busy instead of one lagging behind.

var per_chunk = n // num_chunks

Stack SIMD on Threads

Keep your SIMD math inside each chunk. Now you get two wins at once: many cores, each crunching vectors per instruction.

Avoid Data Races

Two threads writing the same spot causes a data race. Give each chunk its own output slice so writes never collide.

Expose Tunable Knobs

Turn tile size and SIMD width into parameters. With knobs in place, you can try many settings without rewriting the kernel.

fn kernel[tile: Int, width: Int]():
    pass

Let Autotuning Search

The best settings differ per machine. Autotuning tries candidate parameter values, times each, and keeps the fastest combination.

Lock In the Winner

Once you know the best tile and width, fix them as the chosen config. The kernel is now specialized for your hardware.

Verify Under Parallelism

Run the tuned, threaded kernel and compare to the baseline. Correctness must still hold once many cores write at once.

Quick Check

Pick the real risk when parallelizing the core.

Recap

You used parallelize over balanced chunks, kept SIMD inside each, avoided data races, then autotuned the knobs. The core is now multi-core fast. 🎯

الأسئلة الشائعة

هل درس «توازي النواة وضبطها» مجاني؟

نعم — نص درس «توازي النواة وضبطها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Mojo Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Mojo Academy 4 دروس في المجموع.

ماذا ستتعلم في «توازي النواة وضبطها»؟

أضف الخيوط واضبط التنفيذ تلقائيًا للآلة تتمرن على Mojo Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Mojo Academy؟

لا تُشترط خبرة سابقة. Mojo Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «توازي النواة وضبطها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Mojo Academy هذا؟

نعم. كل درس في Mojo Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تحليل أداء خط الأساس في Python
  2. إعادة كتابة المسار الساخن في Mojo
  3. توازي النواة وضبطها
  4. إصدار المشروع المُسرَّع
← العودة إلى Mojo Academy