typestar

Aritmética SIMD en Mojo

La aritmética sobre SIMD toca todos los carriles a la vez, en una sola instrucción.

comptime F4 = SIMD[DType.float64, 4]


def main():
    var a = F4(1.0, 2.0, 4.0, 5.0)
    var b = F4(10.0, 20.0, 40.0, 50.0)
    print(a + b)
    print(b - a)
    print(a * b)
    print(b / a)

Cómo funciona

  1. a + b suma el carril 0 con el carril 0, el 1 con el 1, y así.
  2. La resta, la multiplicación y la división se portan igual.
  3. Aquí no se escribe ningún bucle, y tampoco se genera ninguno.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
168
Tokens
64
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 51 segundos.

Escribe este fragmento

Paso 2 de 6 en SIMD; paso 7 de 22 en Parámetros y SIMD.

← Anterior Siguiente →