0Pricing
Mojo Academy · Leçon

Anatomie d’un noyau de calcul

La boucle interne critique qui effectue le travail.

Anatomie d’un noyau de calcul est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

What Is a Kernel?

A compute kernel is the small, focused routine that does the real numerical work, like adding two arrays element by element.

The Hot Inner Loop

Most of a kernel's time lives in one tight inner loop. Speed up that loop and you speed up the whole program.

for i in range(n):
    out[i] = a[i] + b[i]

Inputs and Outputs

A clean kernel takes its data buffers as parameters, so the same routine can run on any arrays you pass in.

fn add(a: UnsafePointer[Float32], b: UnsafePointer[Float32], out: UnsafePointer[Float32], n: Int):
    pass

Use fn for Strictness

Kernels are written with fn, not def. The strict, typed style lets Mojo compile tight machine code with no surprises.

fn kernel(n: Int):
    pass

Keep the Body Small

The fastest kernels do one thing. A short, predictable inner body is easy for the compiler to optimize aggressively.

No Surprises Inside

Avoid heavy work like allocation or I/O in the hot loop. Each iteration should be cheap and uniform for peak throughput.

Count the Work

Think in terms of total operations. A kernel over n elements does roughly n units of work, so n drives the cost.

Memory Is the Limit

Many kernels are not compute-bound but memory-bound. They wait on data, so how you move bytes often matters most.

Plan to Vectorize

Design the loop so each step can later process many elements with SIMD. A regular access pattern makes vectorizing easy.

A Tiny Saxpy Kernel

A classic kernel is saxpy: out = scale times a plus b. It is small, regular, and a great baseline to optimize.

for i in range(n):
    out[i] = scale * a[i] + b[i]

Measure Before You Tune

Start with the simple correct version and time it. That number is your baseline for every optimization that follows.

Quick Check

You are about to optimize a kernel. Where does almost all of its time go?

Recap

A kernel is a small fn whose tight inner loop does the work; keep it uniform, mind memory, and measure a baseline first. 🔧

Questions Fréquemment Posées

La leçon « Anatomie d’un noyau de calcul » est-elle gratuite ?

Oui — le texte complet de « Anatomie d’un noyau de calcul » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Anatomie d’un noyau de calcul » ?

La boucle interne critique qui effectue le travail. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Mojo Academy ?

Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Anatomie d’un noyau de calcul » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?

Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Anatomie d’un noyau de calcul
  2. Combiner SIMD et boucles
  3. Réduire le trafic mémoire
  4. Partitionner pour la localité du cache
← Retour à Mojo Academy