Les mystérieuses instructions AMX d'Apple
jeu, 16/03/2023 - 11:28
Depuis qu'Apple conçoit les processeurs pour iPhone et Mac, régulièrement, les équipes ajoutent des fonctionnalités dont certaines ne sont pas documentées. Ainsi pour les traitements des instructions vecteurs ou l'IA, on bénéficie des instructions standards ARM SIMD, du Neural Engine pour la partie IA et Metal pour la partie GPU. Mais il existe un jeu d'instructions inconnu : AMX (Apple Matrix). Ces instructions sont présentes dans les M1 et M2.
AMX est un coprocesseur dédié pour accélérer les traitements et calculs notamment en machine learning et en deep learning, rôle déjà dévolu au Neural Engine. AMX serait là pour optimiser les flux d'instructions entre le processeur (et les coeurs), le coprocesseur et la mémoire. Son travail sera plus spécifique que le Neural Engine, en se concentrant sur les matrices. Les deux unités seraient donc complémentaires.
Les matrices exigent une puissance de calculs importantes et elles sont utilisées les traitements des images, dans le machine learning, le compute vision en général, la compression, etc. Apple aurait là une unité optimisée et spécifique sans doute pour des traitements très bas niveau.
Des ingénieurs et développeurs, depuis 2 ans, scrutent le comportement de ce coprocesseur pour comprendre son fonctionnement et réalisent même du reverse pour observer les instructions.