El backend hexagon introduce soporte para dividir modelos entre múltiples dispositivos utilizando una estrategia de división por filas. Este cambio permite la distribución de trabajo en núcleos fusionados y actualiza la configuración del dispositivo para manejar grupos de dispositivos.

  • Añade capacidades de división por filas en múltiples dispositivos a la arquitectura hexagon.
  • Implementa la lógica de división de trabajo para núcleos fusionados y varias operaciones como matmul y argsort.
  • Actualiza la inicialización de sesión, el manejo de fence y la recuperación de errores para mayor robustez en escenarios multi-dispositivo.
  • Refactoriza la lógica de particionamiento y sincroniza el estado entre grupos de dispositivos.

Esta mejora permite distribuir modelos entre múltiples núcleos o dispositivos Hexagon, mejorando potencialmente el rendimiento y habilitando la inferencia de modelos más grandes.