Matrix est un film de science-fiction, mais aussi un jeu d’instructions discrètement intégré aux puces d’Apple depuis l’A13. Si les développeurs ne peuvent pas l’utiliser, le système peut l’exploiter pour accélérer les tâches liées à l’intelligence artificielle. Sans jamais rien avoir révélé à son sujet, Apple l’a fait évoluer dans les puces M2. Mais pour quoi faire ?
Apple accélère l’IA… sans le Neural Engine
AMX, pour « Apple MatriX », est une série d’instructions qui permettent d’accélérer les calculs liés à l’intelligence artificielle. Le Neural Engine n’est-il pas censé faire la même chose ? En réalité, la finalité n’est pas exactement la même et l’accès ne se fait pas de la même façon. Le Neural Engine n’est en effet disponible que via les API CoreML et surtout, le code n’est pas nécessairement exécuté sur ce dernier, mais peut passer par le processeur ou le circuit graphique.
Comme son nom l’indique, AMX accélère les traitements sur les matrices. Nous n’allons pas vous faire un cours de maths, mais disons qu’il s’agit de tableaux de nombres très utilisés dans le traitement d’image, le multimédia en général ou le machine learning. Les traitements sur les matrices sont assez lourds, mais il existe des instructions spécialisées pour les calculs liés. Ce n’est pas réellement nouveau : les extensions SIMD — Single Instruction Multiple Data — existent depuis les années 90. Vous vous souvenez peut-être de l’Altivec des Power Mac G4 ? Les anciens jeux d’instructions servent de façon globale à effectuer des traitements sur plusieurs données avec une seule instruction, mais AMX vise explicitement les matrices.