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
a + bsuma el carril 0 con el carril 0, el 1 con el 1, y así.- La resta, la multiplicación y la división se portan igual.
- Aquí no se escribe ningún bucle, y tampoco se genera ninguno.
Palabras clave y builtins usados aquí
DTypeSIMDdefprintvar
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.
Paso 2 de 6 en SIMD; paso 7 de 22 en Parámetros y SIMD.