0Pricing
Mojo Academy · Aula

Conheça o tipo SIMD

Um vetor de valores processados em conjunto.

Conheça o tipo SIMD é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

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

Perguntas Frequentes

A aula “Conheça o tipo SIMD” é grátis?

Sim — o texto completo de “Conheça o tipo SIMD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.

O que vou aprender em “Conheça o tipo SIMD”?

Um vetor de valores processados em conjunto. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Mojo Academy?

Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Conheça o tipo SIMD”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Mojo Academy?

Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Conheça o tipo SIMD
  2. Matemática SIMD elemento a elemento
  3. Escolhendo uma largura SIMD
  4. Vetorizando um laço
← Voltar para Mojo Academy