0Pricing
Mojo Academy · Lección

Paralelizar y ajustar el núcleo

Añada hilos y ajuste automáticamente el código para la máquina.

Paralelizar y ajustar el núcleo es una lección gratuita de Mojo Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Mojo Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Mojo Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

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. 🎯

Preguntas frecuentes

¿La lección «Paralelizar y ajustar el núcleo» es gratis?

Sí — el texto completo de «Paralelizar y ajustar el núcleo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Mojo Academy, actualiza a CoddyKit PRO. El curso de Mojo Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Paralelizar y ajustar el núcleo»?

Añada hilos y ajuste automáticamente el código para la máquina. Practicas Mojo Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Mojo Academy?

No se requiere experiencia previa. Mojo Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Paralelizar y ajustar el núcleo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Mojo Academy?

Sí. Cada lección de Mojo Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Perfilar la línea base de Python
  2. Reescribir la ruta crítica en Mojo
  3. Paralelizar y ajustar el núcleo
  4. Publicar el proyecto acelerado
← Volver a Mojo Academy