The Mali and Immortalis series of graphics processing units (GPUs) and multimedia processors are semiconductor intellectual property cores produced by Arm Holdings for licensing in various ASIC designs by Arm partners.
Mali GPUs were developed by Falanx Microsystems A/S, which was a spin-off of a research project from the Norwegian University of Science and Technology. Arm Holdings acquired Falanx Microsystems A/S on June 23, 2006 and renamed the company to Arm Norway.
It was originally named Malaik, but the team shortened the name to Mali, Serbo-Croatian for "small", which was thought to be fitting for a mobile GPU.
On June 28, 2022, Arm announced their Immortalis series of GPUs with hardware-based ray tracing support.
Graphics processors
Utgard In 2005, Falanx announced their Utgard GPU Architecture, the Mali-200 GPU. Arm followed up with the Mali-300, Mali-400, Mali-450, and Mali-470. Utgard was a non-unified GPU (discrete pixel and vertex shaders). Comparison of Mali Utgard graphics processing units ModelLaunch dateType EUs/Shader core count Core clock rate (MHz) L2 cache size Fillrate GFLOPS(per core)OpenGL ESM△/sGT/s(GP/s) 2005 Fixed function pipelinehttps://static.docs.arm.com/dui0363/d/DUI0363D_opengl_es_app_dev_guide.pdf 1 2.8 0.11.1 Mali-2002007 Programmable pipeline 150.22.0Mali-300201015008 KiB550.55Mali-400 MP2008 1–4200–6008–256 KiB550.51.2–5.4Mali-450 MP20121–8300–7508–512 KiB1422.64.5–11.9Mali-470 MP20151–4250–6508–256 KiB710.658–20.8
Midgard
1st generation On November 10, 2010, Arm announced their Midgard 1st gen GPU Architecture, including the Mali-T604 and later the Mali-T658 GPU in 2011. Midgard uses a Hierarchical Tiling system.
2nd generation On August 6, 2012, Arm announced their Midgard 2nd gen GPU Architecture, including the Mali-T678 GPU. Midgard 2nd gen introduced Forward Pixel Kill.
3rd generation On October 29, 2013, Arm announced their Midgard 3rd gen GPU Architecture, including the Mali-T760 GPU.
4th generation On October 27, 2014, Arm announced their Midgard 4th gen GPU Architecture, including the Mali-T860, Mali-T830, Mali-T820. Their flagship Mali-T880 GPU was announced on February 3, 2015. New microarchitectural features include:
Up to 16 cores for the Mali-T880, with 256KB – 2MB L2 cache
Bifrost
1st generation On May 27, 2016, Arm announced their Bifrost GPU Architecture, including the Mali-G71 GPU. New microarchitectural features include:
Unified shaders with quad vectorization Scalar ISA Clauses execution Full cache coherency Up to 32 cores for the Mali-G71, with 128KB – 2MB L2 cache Arm claims the Mali-G71 has 40% more performance density and 20% better energy efficiency than the Mali-T880
2nd generation On May 29, 2017, Arm announced their Bifrost 2nd gen GPU Architecture, including the Mali-G72 GPU. New microarchitectural features include:
Arithmetic optimizations and increased caches Up to 32 cores for the Mali-G72, with 128KB – 2MB L2 cache Arm claims the Mali-G72 has 20% more performance density and 25% better energy efficiency than the Mali-G71
3rd generation On May 31, 2018, Arm announced their Bifrost 3rd gen GPU Architecture, including the Mali-G76 GPU. New microarchitectural features include:
8 execution lanes per engine (up from 4). Doubled pixel and texel throughput Up to 20 cores for the Mali-G76, with 512KB – 4MB L2 cache Arm claims the Mali-G76 has 30% more performance density and 30% better energy efficiency than the Mali-G72
Valhall
1st generation On May 27, 2019, Arm announced their Valhall GPU Architecture, including the Mali-G77 GPU, and in October Mali-G57 GPUs. New microarchitectural features include:
New superscalar engine Simplified scalar ISA New dynamic scheduling Up to 16 cores for the Mali-G77, with 512KB – 2MB L2 cache Arm claims the Mali-G77 has 30% more performance density and 30% better energy efficiency than the Mali-G76
2nd generation On May 26, 2020, Arm announced their Valhall 2nd Gen GPU Architecture, including the Mali-G78. New microarchitectural features include:
Asynchronous clock domains New FMA units and increase Tiler throughput Up to 24 cores for the Mali-G78, with 512KB – 2MB L2 cache Arm Frame Buffer Compression (AFBC) Arm claims the Mali-G78 has 15% more performance density and 10% better energy efficiency than the Mali-G77
3rd generation On May 25, 2021, Arm announced their Valhall 3rd Gen GPU Architecture (as part of TCS21), including the Mali-G710, Mali-G510, and Mali-G310 GPUs. New microarchitectural features include:
Larger shader cores (2x compared to Valhall 2nd Gen) New GPU frontend, Command Stream Frontend (CSF) replaces the Job Manager Up to 16 cores for the Mali-G710, with 512KB – 2MB L2 cache Arm claims the Mali-G710 has 20% more performance density and 20% better energy efficiency than the Mali-G78
4th generation On June 28, 2022, Arm announced their Valhall 4th Gen GPU Architecture (as part of TCS22), including the Immortalis-G715, Mali-G715, and Mali-G615 GPUs. New microarchitectural features include:
Ray Tracing support (hardware-based) Variable Rate Shading New Execution Engine, with doubled the FMA block, Matrix Multiply instruction support, and PPA improvements Arm Fixed Rate Compression (AFRC) Arm claims the Immortalis-G715 has 15% more performance & 15% better energy efficiency than the Mali-G710
5th generation On May 29, 2023, Arm announced their 5th Gen Arm GPU Architecture (as part of TCS23), including the Immortalis-G720, Mali-G720 and Mali-G620 GPUs. New microarchitectural features include:
Deferred vertex shading (DVS) pipeline Arm claims the Immortalis-G720 has 15% more performance and uses up to 40% less memory bandwidth than the Immortalis-G715
Technical details Like other embedded IP cores for 3D rendering acceleration, the Mali GPU does not include display controllers driving monitors, in contrast to common desktop video cards. Instead, the Mali ARM core is a pure 3D engine that renders graphics into memory and passes the rendered image over to another core to handle display.
ARM does, however, license display controller SIP cores independently of the Mali 3D accelerator SIP block, e.g. Mali DP500, DP550 and DP650.
ARM also supplies tools to help in authoring OpenGL ES shaders named Mali GPU Shader Development Studio and Mali GPU User Interface Engine.
Display controllers such as the ARM HDLCD display controller are available separately.
Variants The Mali core grew out of the cores previously produced by Falanx and currently constitute: Model Microarchi-tectureType Launch date EUs/Shader core count Shading Units (per core) Total Shaders Fab (nm) Die size(mm2) Core clock rate (MHz) L2 cache size (KiB) Fillrate GFLOPS(per core) GFLOPS(total) API (version)M△/sGT/s(GP/s) Vulkan OpenGL ES OpenCLMali-T604 Midgard 1st genUnified shader model + SIMD ISANov 20101–488–323228533 32–256133 0.6 @ 600 MHz9.6 @ 600 MHz9.6–38.4 @ 600 MHz rowspan="7" 3.1 1.1 Full ProfileMali-T658 Nov 20111–81616–12819.2 @ 600 MHz19.2–153.6 @ 600 MHzMali-T622 Midgard 2nd genJun 2013 1–2 4 4–832285334.8 @ 600 MHz4.8–9.6 @ 600 MHzMali-T624Aug 2012 1–4 8 8–32533–6009.6 @ 600 MHz9.6–38.4 @ 600 MHzMali-T6281–81616–128533–69519.2 @ 600 MHz19.2–153.6 @ 600 MHz Mali-T6781–828Mali-T720 Midgard 3rd genOct 20131–81010–80281410400–700600 (MP8@600 MHz)0.6 @ 600 MHz12 @ 600 MHz12–96 @ 600 MHzMali-T7601–161414–2242820141.75 mm2 per shader core at 14 nm600–772256–2048depending on number of shader core groups130016.8 @ 600 MHz16.8–268.8 @ 600 MHz 1.0 3.2Supported as of June 2016 with r12p0 userspace driver1.2 Full ProfileMali-T820 Midgard 4th gen Q4 2015 1–4 8 8–3228 600 32–256 4009.6 @ 600 MHz9.6–38.4 @ 600 MHzMali-T830 16 16–64281614600–95040019.2 @ 600 MHz19.2–76.8 @ 600 MHzMali-T860 1–16 14 14–224 350–700 256–2048 130016.8 @ 600 MHz16.8–268.8 @ 600 MHzMali-T880 Q2 2016 1–16 21 21–351 201614 650–1000 170025.2 @ 600 MHz25.2–403.2 @ 600 MHzMali-G31Bifrost 1st genUnified shader model + Unified memory + scalar, clause-based ISAQ1 20181–64 or 84–48281265032–5120.5 @ 1000 MHz8–16 @ 1000 MHz48–576 @ 1000 MHz 1.22.0 Full ProfileMali-G51Q4 20161–68 or 128–722816141210100016–24 @ 1000 MHz16–144 @ 1000 MHz 1.0Mali-G71Q2 2016 1–32 12 12–384 161410 546–1037 128–2048 18501 @ 1000 MHz 24 @ 1000 MHz 24–768 @ 1000 MHzMali-G52Bifrost 2nd genQ1 20181–616 or 2416–14416128785032-5122 @ 1000 MHz32–48 @ 1000 MHz32–288 @ 1000 MHz 2.1 Full ProfileMali-G72Q2 20171–321212–384 161210 1.36 mm2 per shader core at 10 nm 572–1050 128–20481 @ 1000 MHz 24 @ 1000 MHz 24–768 @ 1000 MHz 2.0 Full Profile Mali-G76Bifrost 3rd gen Q2 2018 4–20 24 96–480 1287 600–800 512–4096 2 @ 1000 MHz2 @ 1000 MHz 48 @ 1000 MHz 192–960 @ 1000 MHz1.12.1 Full ProfileMali-G57Valhall 1st genSuperscalar engine + Unified memory + simplified scalar ISAQ2 20191–6 3232–1921276?95064–512?4 @ 1000 MHz 64 @ 1000 MHz64–384 @ 1000 MHzMali-G777–16224–51276?695–850512–2048?448–1024 @ 1000 MHzMali-G68Valhall 2nd genQ2 20201–632–19265364–384 @ 1000 MHz1.23.0 Full ProfileMali-G787–24224–7685759-848448–1536 @ 1000 MHzMali-G310Valhall 3rd genQ2 2021116 or 32 or 6416–64654256–10242, 4 or 8 @ 1000 MHz2 or 4 @ 1000 MHz32–128 @ 1000 MHzMali-G5102–648 or 6496–3844 or 8 @ 1000 MHz4 @ 1000 MHz96–128 @ 1000 MHz192–768 @ 1000 MHzMali-G6101–66464–384512–20488 @ 1000 MHz128 @ 1000 MHz128–768 @ 1000 MHzMali-G7107–16448–1024650,8509002648896–2048 @ 1000 MHzMali-G615Valhall 4th genQ2 20221–6128128–7684256 @ 1000 MHz256–1536 @ 1000 MHz1.3Mali-G7157–9896–11521792–2304 @ 1000 MHzImmortalis-G71510–161280–20482560–4096 @ 1000 MHzMali-G6205th GenDeferred Vertex Shading (DVS)Q2 20231–5128–640256–1024256–1280 @ 1000 MHzMali-G7206–9768–1152512–20481536–2304 @ 1000 MHzImmortalis-G720Q4 202310–161280–20482560–4096 @ 1000 MHzMali-G625Q2 20241–5128–64043256–1024256–1280 @ 1000 MHzMali-G7256–9768–1152512–40961536–2304 @ 1000 MHzImmortalis-G92510–241280–30722560–6144 @ 1000 MHzMali G1-ProQ3 20251–5128–6403512–2048256–1280 @ 1000 MHz1.4Mali G1-Premium6–9768–1152512–40961536–2304 @ 1000 MHzMali G1-Ultra10–241280–30722560–6144 @ 1000 MHzMali G2-UltraQ3 2026322048–16384ModelMicroarchi-tectureType Launch date EUs/Shader core count Shading Units (per core) Total Shaders Fab (nm) Die size(mm2) Core clock rate (MHz) Max L2 cache size (KiB)Fillrate (per core) FP32 GFLOPS(per core)GFLOPS(total) Vulkan OpenGL/ES OpenCL
Some microarchitectures (or just some chips?) support cache coherency for the L2 cache with the CPU.http://www.chipdesignmag.com/pallab/2011/06/30/arm-mali-gpu-unifying-graphics-across-platforms/ Heterogeneous Computing
Adaptive Scalable Texture Compression (ASTC) is supported by Mali-T620, T720/T760, T820/T830/T860/T880 and Mali-G series.
Implementations The Mali GPU variants can be found in the following systems on chips (SoCs):