0Pricing
Mojo Academy · Leçon

Découvrir le type SIMD

Un vecteur de valeurs traité simultanément.

Découvrir le type SIMD 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.

One Value at a Time Is Slow

A normal Int holds a single number, so math happens one value at a time. For AI you often need to crunch many numbers at once.

Meet SIMD

SIMD means Single Instruction, Multiple Data: one operation applied to a whole pack of numbers in a single step.

A Vector of Values

In Mojo the SIMD type holds several values of the same kind together, like a tiny fixed-size vector handled as one unit.

var v = SIMD[DType.float32, 4](1, 2, 3, 4)

Two Type Parameters

A SIMD type takes two parameters in brackets: the element DType and how many lanes it holds, like SIMD[DType.int32, 4].

alias Pack = SIMD[DType.int32, 4]

DType Picks the Element Kind

The first parameter is a DType such as float32 or int32. It decides what each lane stores and how big it is.

var x = SIMD[DType.float32, 4](0.5, 1.5, 2.5, 3.5)

Width Is the Lane Count

The second parameter is the width: the number of values packed side by side. A width of 4 means four numbers travel together.

var four = SIMD[DType.int32, 4](10, 20, 30, 40)

Width Is a Power of Two

SIMD widths are powers of two like 1, 2, 4, 8, or 16. This maps cleanly onto the lanes your CPU offers.

var eight = SIMD[DType.float32, 8](0)

A Scalar Is Width One

Even a plain number is really a SIMD of width 1 in Mojo. Scalars and vectors share the same underlying type.

var one = SIMD[DType.float32, 1](3.14)

Indexing the Lanes

You can read a single lane by index just like a list. Lane 0 is the first value in the vector.

var v = SIMD[DType.int32, 4](5, 6, 7, 8)
print(v[0])

Fill Every Lane at Once

Passing one value fills all lanes with it. This is a quick way to make a SIMD vector of constant values.

var zeros = SIMD[DType.float32, 4](0)

Why SIMD Is Fast

Because the CPU acts on a whole pack in one instruction, SIMD does more work per cycle. That is the heart of vectorization.

Quick Check

You declare SIMD[DType.float32, 4]. What do those two parameters mean?

Recap

SIMD packs several same-typed values into one vector set by a DType and a power-of-two width, so one instruction touches them all. 🚀

Questions Fréquemment Posées

La leçon « Découvrir le type SIMD » est-elle gratuite ?

Oui — le texte complet de « Découvrir le type SIMD » 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 « Découvrir le type SIMD » ?

Un vecteur de valeurs traité simultanément. 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 « Découvrir le type SIMD » ?

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. Découvrir le type SIMD
  2. Calcul SIMD élément par élément
  3. Choisir une largeur SIMD
  4. Vectoriser une boucle
← Retour à Mojo Academy