Optimización del motor neuronal Apple M3 para duplicar velocidad

Fuentes: Getting 50 GB/s Back Out of the ANE

Un análisis técnico detallado ha identificado un error de rendimiento en el motor neuronal (ANE) de los chips Apple M3 que reduce drásticamente la velocidad de transferencia de datos. Cuando el tamaño total de los pesos es un múltiplo entero de 1 MiB, la tasa de transmisión de DRAM cae de los 45-60 GB/s nominales a solo 17-19 GB/s. Este problema afecta a siete de los quince modelos del proyecto ANEMLL.

El investigador descubrió el fenómeno al notar que la dimensión D=2048 era tres veces más lenta que D=1536. Tras descartar la contención de bancos de memoria DRAM mediante pruebas de aleatorización de direcciones, se concluyó que el cuello de botella se debe a un desbordamiento de enteros en la lógica de hardware (RTL) del kernel DMA. Este error fuerza las solicitudes en un régimen de emisión con falta de créditos.

La solución consiste en evitar este camino problemático en el anillo de prefetching especulativo del kernel. Los resultados son contundentes: el throughput de Llama 3.2 1B aumentó de 10,0 a 24,3 tokens por segundo, y el de Qwen3-8B pasó de 1,36 a 2,97 tokens por segundo, aprovechando la capacidad completa de la memoria.