vignette|Zoom d'un processeur ARM Cortex A57 A53. L'architecture Mali est une famille de processeurs graphiques conçue pour les smartphones et les tablettes tactiles ; elle est développée par la société ARM pour les SoC basés sur l'architecture ARM et intégrée sous licence par différents fabricants de microélectronique. . Les architectures ont des noms scandinaves (Utgard, Midgard, Bifrost et Valhall).
On peut notamment retrouver ces processeurs graphiques dans certains SoC Exynos de Samsung, les A1X de Allwinner Technology, certains SoC WonderMedia de VIA, certains SoC Amlogic ou Rockchip, dans des SoC de Chromebooks et aussi dans certains chipset Novathor de STMicroelectronics comme le U8500.
Pilotes OpenGL ES Le projet Lima driver a été créé en 2011 pour produire un pilote libre permettant d'accéder aux générations Mali-200 et Mali-400 de l'architecture utgard, puis il a été abandonné entre 2012 et 2013. Il est de nouveau actif depuis et est intégré dans Mesa depuis la version 19, et la partie DRM dans Linux depuis la version 5.2.
Le projet, Panfrost, a pour but de supporter les versions Midgard (T---) and Bifrost (G--) de ces GPU. Du fait qu'il soit basé sur Gallium, certaines fonctions OpenGL pour bureau sont automatiquement traduites en fonctions OpenGL ES, permettant ainsi de faire fonctionner des applications pour bureau sur architecture Midgard, ce qui n'est pas le cas avec le pilote propriétaire. Il est également intégré dans les versions stables de Mesa depuis le version 19, et la partie DRM dans Linux depuis la version 5.2. Il gère un grand nombre de fonctions OpenGL complet (pas que ES), sans atteindre OpenGL 3.0 en .
De nombreux SoC ARM comportent cependant un GPU PowerVR ou plus rarement d'autres processeurs graphiques (Adreno de Qualcomm, Vivante, Nvidia et VideoCore de Broadcom), qui possèdent tous des pilotes pour Linux. Les pilotes 3D sont présents dans Mesa pour Adreno (Freedreno), Vivante (Etnaviv) et VideoCore (vc4 et vc5), ainsi que nvidia (Nouveau).
L'API générique d'accès au GPU MALI compatible EXA/DRI2 libres à sources ouvertes (licences Apache et MIT) est disponible pour les Mali 200, 300, 400 et 600 sur la plateforme Linux Open Source Mali GPUs Linux EXA/DRI2 And X11 Display Drivers sur malideveloper.com, mais la partie la plus basse d'accès au processeur, dépendant du constructeur reste fermée.
D'autre part le pilote X11 est minimum et un projet alternatif a démontré qu'il est possible d’accélérer en moyenne 3 fois les performances des opérations 3D et jusqu'à 10 fois les opérations géométriques 2D en ajoutant la gestion de certains composants d'X11 New xf86-video-sunxifb DDX driver for Xorg.
OpenGL Bien que le pilote officiel d'ARM ne supporte pas OpenGL, par contre, les pilotes sous licence libres pour Linux, Lima et Panfrost, le supportent (voir section OpenGL ES ci-dessus).
OpenCL Le kit de développement OpenCL, appelé « Mali OpenCL SDK », est mis à disposition par ARM pour les GPU T600 et supérieur, il est compatible Linux et Microsoft Windows. Les sources sont disponibles, mais la licence propriétaire. Il faut une licence d'ARM pour pouvoir redistribuer les sourcesMali OpenCL SDK.
Renderscript Google Android fournit une API Renderscript compatible avec les pilotes Mali T600 et supérieurs RenderScript.
Vulkan Les processeurs Mali-T760 et supérieur de l'architecture Midgard, ainsi que sur l'ensemble de l'architecture Bifrost, ont des caractéristiques compatibles avec l'API Vulkan 1.0. Les pilotes doivent fonctionner en espace utilisateur, pour Android 7.0 et GNU/Linux, et pour quelques plateformes uniquement.
Le développement d'un pilote Vulkan open source pour les familles Midgard et Bifrost (Mali-T--- et Mali-G--) appelé PanVk débute en 2021, au sein du projet Mesa3D.
Les séries Mali-55 Le Mali-55 supporte le calcul matériel des fragments et logiciel seulement des vecteurs. Il est compatible avec OpenGL ES 1.1 et OpenVG 1.0 55 3D Graphics Core Technical Reference Manual
Utgard - Mali-... Les processeurs dont le nom comporte l’appellation Mali-... correspondent à l'architecture Utgard.
Série Mali-200 La première série, Mali 200, utilisée dans des processeurs tels que le SoC Telechips TCC890x TCC8900 development board. Le taux de remplissage est d'un pixel par cœur et par cycle d'horloge avec toutefois une limitation lorsque le compteur de vecteurs est saturé, cela donne par exemple pour 1 cœur à , 100 Mpixels/s.
Série Mali-300 La seconde série, Mali-300 ne semble pas avoir été intégrée dans des processeurs commercialisés.
Série Mali-4.. La troisième série, Mali-400 MP, premier processeur graphique mobile à proposer une architecture multi-cœur est proposée sur des processeurs plus haut de gamme, généralement, contenant un CPU Cortex A9, comme le ST-Ericsson U8500 MOP500 development board, comme les Samsung Exynos 4, les Amlogic 8726-M et 8726-MX ou les Rockchip RK3188, mais aussi sur des Soc contenant des Cortex A8 Allwinner A1X. Il peut être utilisé en version 1 à 4 cœurs et indépendamment à des fréquences de 200 à . Pour donner un ordre d'idée, un quadruple cœur à , supporte une vitesse de remplissage de 44 mégatriangles par seconde et 800 mégapixels par seconde, conservant ainsi la vitesse de remplissage brut par cœur et cycle d'horloge des Mali 200.
Le Mali-450 MP offre une puissance deux fois supérieure par cœur à celle du Mali-400 MP pour le rendu d'OpenGL ES 2.0 Mali-450 MP sur le site d'ARM et peut gérer jusqu'à 8 cœurs simultanés. La première implémentation est l'AMLogic AML8726-M8, un SoC fondu en par TSMC, contenant 4 cœurs cortex A9 à et 6 cœurs Mali-450 MP et qui devrait être disponible en série à partir du 2013.
En , ARM annonce le Mali-470, orienté vers les périphériques ultra basse consommation d'habillage (montres, puces que l'on peut coudre dans les vêtements). Il améliore le Mali-450, principalement au niveau de l'efficacité. Il consomme deux fois moins d'énergie que le Mali-400 à un taux de traitement équivalent. Il ajoute par rapport à ses prédécesseurs un processeur vectoriel, et réduit encore le recalcul de blocs qui n'auraient pas été modifiés.
Midgard - Mali-T... Les processeurs dont le nom comporte l’appellation Mali-T... correspondent à l'architecture Midgard.
Série Mali-T6.. La série Mali-T600 est à destination des Cortex A15. Elle équipe notamment la série de Samsung Exynos 5. Le premier modèle a été le Mali-T604 Mali-T604 sur ARM.
La série des Mali-T600 introduit le calcul flottant 64 bits. Construit sur une conception architecturale multicœur scalable et multi-pipeline elle inclut de nombreuses fonctions avancées telles que ARM引领图形处理器计算潮流,有效提升系统性能与能效 le 2 août 2011 : opération scalaire et vectorielle native pour les types de données flottantes et entières d'OpenCL (dont les 64 bits). Support pour la compilation statique et dynamique types de données d'image et d'échantillon pour l'accélération matérielle opérations atomiques rapides compatibilité avec la précision requise par la norme IEEE754-2008 Support d'OpenGL ES 3.0Khronos G–roup Conformant Products
La série Mali-T6.. apporte également les nouveautés suivantes 256+ thread par cœur au lieu de 128 sur les Mali-400 et deux pipes arithmétiques à faible latence. Un pipeline avec les 3 principales tâches unifiées. L'anticrénelage par suréchantillonnage (MSAA) 4x maintient un taux de remplissage de 90 % et en 16x ne divise que par 4 le taux de remplissage. Une gestion de l'énergie améliorée, l'horloge d'un cœur est immédiatement et automatiquement arrêtée lorsque inutilisée et différentes fréquences possibles pouvant être gérées en automatique ou par le système et compatibles avec le contrôle DVFS (Dynamic Voltage and Frequency Scaling).
ARM annonce le à Shanghai, rendre au groupe Khronos un test complet de conformité « OpenCL 1.1 Full Profile » pour les processeurs graphiques Mali-T604 afin d'en obtenir la certification. Il s'agit du Full profile à l'intention des ordinateurs de calcul de bureau et non uniquement des applications mobiles ou embarquées (Embedded Profile), démontrant la volonté d'ARM de s'imposer dans tous les domaines.
La seconde génération, inclut les Mali-T622, Mali-T624, Mali-T628, Mali-T678?
Série Mali-T7.. La première génération des Mali-T7.., présentée le , est décliné sous deux modèles, tous deux compatibles OpenGL ES 3.0 et DirectX11 ARM unveils Mali-T760, Mali-T720 graphics. Ils sont également compatible OpenCL 1.1 et RenderScript : Mali-T720, destiné à remplacer les Mali-300 et Mali-400 MP, en y apportant le support OpenGL ES 3.0 et des performances 2 fois supérieures au Mali-400 MP. Il comporte 8 processeurs de shaders, ainsi que 2 MMU. Il sera notamment adapté au fonctionnement avec les processeurs ARM Cortex-A17 MPCore. Le Mali-T760 double le nombre de processeurs de shaders des Mali-T604, en les passant de 8 à 16 et comporte une unité de tuillage avancé, permettant de calculer l'image en rectangle séparés et d'améliorer ainsi l'élimination des polygones inutiles (clipping) ou le traçage de surface n'ayant pas changé.
Le Mali-T760 supporte également l'API Vulkan.
Série Mali-T8.. Fin , ARM présente la gamme Mali-T8.., cette nouvelle gamme ajoute le support l'OpenGL ES 3.1, d'OpenCL 1.2 et différentes optimisations rendant le GPU plus efficace au niveau consommation http://www.arm.com/zh/about/newsroom/arm-system-wide-approach-delivers-efficient-rich-media-solution.php. Le support de l'API Vulkan 1.0 a été ajouté après sa sortie :
Le Mali-T820 est optimisé pour les produits entrée de gamme et orienté efficacité énergétique Le Mali-T830 en milieu de gamme avec un balancement entre efficacité énergétique et performances Et enfin, les Mali-T860 et T880 sont surtout orientés vers les performances pures.
Bifrost - Mali-G.. Les processeurs dont le nom comporte l’appellation Mali-G.. correspondent à l'architecture Bifrost.
Mali-G71 ARM annonce en le processeur graphique Mali-G71, utilise l'architecture Bifrost, qui peut être couplé avec le nouveau processeur Cortex-A73 pour des tâches de réalité virtuelle. C'est le premier GPU d'ARM compatible avec l'API Vulkan, l'API étant ensuite porté sur les modèles des séries Mali-T..., mais aucune information n'a été donnée quant au portage sur les Mali-.... Des améliorations ont été faites sur le système de pipeline, sur la granularité des caches, et sur l'élimination des triangles d'une taille inférieur au pixel.
Mali-G51 Annoncé en , le Mali-G51 est à destination de la réalité virtuelle et des écrans de résolution plus élevée. Il comporte deux shaders de pixels par cœur graphique, doublant ainsi les taux de texel et pixel par cœur, par rapport au Mali-G71. Il supporte également la compression de tampon d'image ARM (ARM Frame Buffer Compression ou AFBC) 1.2, ainsi que les API Vulkan, OpenGL ES 3.2 et OpenCL 2.0.
Mali-G52
Mali-G31
Mali-G72 Annoncé en (seconde génération Bifrost), le Mali-G72 est destiné à succéder au Mali-G71, les performances générales par rapport à son prédécesseur ont été améliorés de 40%, et l'efficacité énergétique améliorée de 25%.
Mali-G76 Annoncé en (troisième génération Bifrost), le Mali-G76 améliore ses performances de 30 % par rapport au G72, et améliore de 2,7 fois l'efficacité en Machine Learning (ML). Il supporte de 4 à 20 cœurs. Chaque cœur comporte trois moteurs et chaque moteur comporte huit voies d’exécution.
Valhall - Mali-Gxx Mali-G77
Mali-G78
Le Mali-G78 est la deuxième génération de l'architecture Valhall.
Mali-G610 Il fait partie de la génération de processeurs graphiques Mali.