how many shader cores on G31/G52?


As a research project, I am now playing with Odroid C4 (G31 mp2), Odroid N2 (G52 mp4), and Hikey960 (G71 mp8)

After quick looking at the clinfo, I became curious about number of cores attached to each of GPU model above.

AFAIK, the MP means "multi processing", and hence number of shader cores in Bifrost series.

However, when I ran clinfo, the shown "max compute units" are 1, 2, 8 (G31 mp2, G52 mp4, and G71 mp8) unlike what I expected (2 ,4, 8).

FYI - I checked that both Odroid C4/N2 are using relatively old mali device driver compared to the Hikey960. However, as both device driver read the raw gpu props from the GPU, I guess both can correctly read the available number of cores.

Do I miss anything for GPU configuration? or was the specification from amlogic wrong?

  • "MP" gets used somewhat inconsistently - sometimes it's core count, and sometimes it's pixels/clock count. For the Bifrost family:

    Mali-G71 and Mali-G72 use a one-pixel per clock shader core. The "core count" and the "pixels/clock" count are therefore the same. For these designs the official Arm naming uses MP = core count.

    Mali-G52/76 use a two-pixel per clock shader core. The "core count" is therefore half the "pixels/clock" count. For these designs the official Arm naming uses MP = core count.

    Mali-G31 and Mali-G51 are the odd ones out because they come in both one-pixel and two-pixel shader core designs, and can be mixed in a single GPU. Core count is therefore ambiguous in these designs, so MP = pixel count. 

    • MP1 = 1 x 1pix/cy core = 1 core
    • MP2 = 1 x 2pix/cy core = 1 cores
    • MP3 = 1 x 2pix/cy core + 1 x 1pix/cy core = 2 cores
    • MP4 = 2 x 2pix/cy core = 2 cores

    It looks like the Odroid N2 isn't using our official naming convention - if that's two cores I would expect that to be called Mali-G52 MP2.


Reply Children
No data
More questions in this forum
There are no posts to show. This could be because there are no posts in this forum or due to a filter.