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.
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.
Good to know! Thx for the quick answer.