Le GPU de l'Apple M1 se dévoile un peu plus, mais n'est pas près de voir son pilote libre ! |
————— 21 Avril 2021 à 16h14 —— 12624 vues
Le GPU de l'Apple M1 se dévoile un peu plus, mais n'est pas près de voir son pilote libre ! |
————— 21 Avril 2021 à 16h14 —— 12624 vues
Avec l’Apple M1, la firme pommée a basculé vers un design de processeurs, certes sous ISA ARMv8, mais 100 % maison du point de vue de sa microarchitecture interne. Si le CPU n’a pas réellement besoin de pilote pour se faire comprendre du fait d’un langage assembleur standardisé — et encore, si cela était si simple, nous le saurions... – ce n’est pas le cas du GPU, qui possède son propre jeu d’instruction, propriétaire.
Un petit rappel de l’Apple M1
C’est donc sans réelle surprise que — tout comme chez NVIDIA, par ailleurs — le support libre de cette partie graphique se développe, petit à petit. Ainsi, il est désormais possible de rendre quelques objets simples tel un cube ombragé au moyen de shaders directement à partir de code libre : youhou ? Ce faisant, les divers développeurs attelés à la charge du reverse-engineering du processeur graphique ont pu découvrir les entrailles de la puce et ses capacités, à savoir la possibilité d’effectuer de l’arithmétique scalaire, des entrées/sorties vectorisées, le support des types de données 16-bit et leur conversion (gratuite) vers un format 32-bit, tout comme les opérations de valeur absolue, d’inversion ou de saturation des nombres flottants. Rajoutez l’intégration de 256 registres ainsi que la présence d’une forme encore mal définie d’exécution superscalaire, et l’architecture semble bien moins trouble !
Un point mérite cependant d’être noté : certaines fixed-functions essentielles — des capacités de calcul hardcodées dans le silicium de la puce — sont absentes, alors que ce n’est pas le cas d’absolument toute la concurrence. En particulier, il n’existe pas d’accélération hardware pour la lecture d’attributs de vertex ou d’objets reposants sur des buffers uniformes, deux concepts au cœur de Vulkan et OpenGL. Vous le sentez venir ? Non ? Hé bien, l’API propriétaire d’Apple, Metal, se passe de ces fonctionnalités : la maison-mère n’a donc eu cure de la concurrence et s’est contentée de supporter son propre standard. Un constat qui n’est guère surprenant, mais qui forcera les compilateurs à intégrer directement dans le code des shaders la logique nécessaire, habituellement réalisée par le matériel, ce qui ne s’effectuera pas sans dégâts du point de vue des performances. À voir si cela continue dans les prochaines itérations ? (Source : Phoronix)
Un poil avant ?Live Twitch • Tomiche, après une journée de maÿrde, va envoyer du monde au Valhalla | Un peu plus tard ...Discord ne serait déjà plus à vendre ! |