Reducciones SIMD en Mojo
Las reducciones colapsan un vector entero a un solo escalar en pasos de profundidad logarítmica.
comptime I8 = SIMD[DType.int32, 8]
def main():
var samples = I8(4, 8, 15, 16, 23, 42, 7, 3)
print(samples.reduce_add())
print(samples.reduce_max(), samples.reduce_min())
print(samples.reduce_mul())
Cómo funciona
reduce_addsuma los ocho carriles.reduce_maxyreduce_minencuentran los extremos.reduce_mulmultiplica los carriles entre sí.
Palabras clave y builtins usados aquí
DTypeSIMDdefprintvar
El intento, en números
- Líneas
- 8
- Caracteres a escribir
- 199
- Tokens
- 57
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 49 segundos.
Paso 3 de 6 en SIMD; paso 8 de 22 en Parámetros y SIMD.