El backend Metal introduce nuevos núcleos de multiplicación matricial para 2 a 16 filas de origen, permitiendo una decodificación especulativa más rápida en dispositivos Apple Silicon que carecen de la API de tensores. Estos núcleos desquantizan los pesos una vez y dividen las dimensiones K entre grupos de hilos, ofreciendo ganancias de rendimiento significativas sobre los enfoques mat-vec anteriores.

  • Implementa núcleos MMA específicos para Q4_0, Q8_0, Q5_K y rutas genéricas para F32, F16 y otros tipos de cuantización.
  • Activa estos núcleos en hardware MTLGPUFamilyApple7+ cuando el número de filas supera los umbrales donde superan a los núcleos mat-vec.
  • Añade lógica de fusión para combinar operaciones MUL_MAT + ADD y agrupar hasta 16 copias f32 adyacentes del mismo diseño en un solo envío.
  • Actualiza el optimizador de grafos y el codificador para manejar propiedades del dispositivo, comprobaciones de concurrencia y seguimiento de vistas para grupos fusionados.

Esta optimización resuelve regresiones de rendimiento en la decodificación especulativa en hardware M3 Ultra al asegurar que las operaciones tensoriales permanezcan eficientes incluso con tamaños de lote pequeños.