Skip to content

Latest commit

 

History

History
80 lines (51 loc) · 2.94 KB

ARM-Mali-Bifrost.md

File metadata and controls

80 lines (51 loc) · 2.94 KB

Bifrost is a 4th generation of Mali GPU architecture.

Content:

Bifrost Gen1

Examples

  • Mali-G31
  • Mali-G51
  • Mali-G71

References

1.1. ARM Unveils Next Generation Bifrost GPU Architecture & Mali-G71
1.2. Arm Mali-G71 Performance Counters Reference Guide, [backup]

Notes

  • implement a single texel-per-clock and single pixel-per-clock shader core.
  • G71: 4-wide SIMD per quad; 3x quads per core. 12 FMAs at the same time. These 3 quads are managed by a core's quad manager. [4]
  • In both the Mali-G71 and G72, a quad is just that: a 4-wide SIMD unit, with each lane possessing separate FMA and ADD/SF pipes. [4]

Bifrost Gen2

Examples

  • Mali-G52
  • Mali-G72

References

2.1. ARM Announces Mali-G72
2.2. Arm Mali-G72 Performance Counters Reference Guide, [backup]
2.3. Mali-G52

Notes

  • implement a single texel-per-clock and single pixel-per-clock shader core.

Bifrost Gen3

Examples

  • Mali-G76

References

3.1. Arm Mali-G76 Performance Counters Reference Guide, [backup]

Notes

  • Implement a two texel-per-clock and two pixel-per-clock shader core, with an increase in arithmetic performance to compensate. Not every GPU doubled the available performance though.
  • G76: 8-wide SIMD per quad, 3 quads per core. [4]

Bifrost (all gens)

References

  1. The Bifrost Shader Core, [backup]
  2. The Bifrost GPU architecture
  3. Mesa driver details
  4. Everything we learnt from hacking Arm Mali GPUs

Notes

  • scalar

  • Mali GPUs can contain many identical shader cores. Each shader core supports hundreds of concurrently executing threads. [4]

  • Each shader core contains: [4]

    • One to three arithmetic pipelines or execution engines.
    • One load-store pipeline.
    • One texture pipeline.
  • AFBC (v1.2) with 4x4 block.

  • Transaction Elimination with 16x16 pixel block size.