The New Adreno 320 Multi Core

Plamensito

Newcomer
gsmarena_001.jpg



Hi!

Yesterday Motorola introduces Moto X. It is driven by a GPU Adreno 320 Quad Core MP4.
Adreno 320 MP4 is a part of Qualcomm Snapdragon MSM8960DT System on Chip

The question is how to calculate the GFLOPS with Adreno 320 with Multi Core?
What is the architecture of the Adreno 320 Multi Core?

First Generation Adreno 320 (Snapdragon S4 Pro) - 64 ALU, 400MHz, 57GFLOPS
Second Generation Adreno 320 (Snapdragon 600) - 96 ALU, 400MHz, 86.4GFLOPS
Third Generation Adreno 320 (MSM8960DT) - Quad Core, MHz ?, GFLOPS ?

Moto-X-preview.003.jpg
 
Last edited by a moderator:
Pretty sure there's only really one version of Adreno 320 (with the exception of minor diffrences). The performance difference is most likely just due to different memory (lpddr2 vs lpddr3 mostly though there might be frequency differences among the lpddr2 and lpddr3 versions too), other reasons for different benchmarks scores can also be different drivers, clock differences and possibly thermal throttling.
Moto just needed to call it "4-core" so they can say they've got (along with the 2 cpu cores plus some gimmick chips) a "8-core" phone.
 
I do know that :

Adreno 320 @ 400MHz (S4 Pro) work with ALU (64 ALU)
Adreno 320 @ 400MHz (S600) work with ALU (96 ALU)

Adreno 320 (MSM8960DT) : Official documentation talks about "Core" :

Adreno 320 Quad Core MP4 @ 400MHz

add564c85c5e.jpg


545641634ed2.jpg
 
Last edited by a moderator:
Plamensito that's not official documentation, that's a printscreen from pdadb.net and the info they get comes from the same press releases that everyone can access.

I don't know where Motorola got their "4-core" nomenclature. Probably it has something to do with the number of ROPs.
The performance difference between the Moto X and Galaxy S4 is below a deviation of 5%. GSMArena for example got a slightly better score for the Galaxy S4 in the T-Rex benchmark.

It's the same Adreno 320 GPU as the Snapdragon 600.

And I wonder if the older implementations of the Adreno 320 really have less ALUs or are just lower clocked.
 
The Adreno 320 solution used in the S4 Pro and S600 has always been quad-core in its make-up; that's just the architecture Qualcomm built for Adreno 3xx and the implementation they give it in the high-end SoCs (Adreno 2xx was actually similar in that regard).

Of course, each GPU designer has their own definition to what a core actually refers and what it constitutes in terms of scaling ALUs, parameter management logic, vertex set-up hardware, etc. (basically, whether or not a core includes everything it would need to function independently).
 
Plamensito that's not official documentation, that's a printscreen from pdadb.net and the info they get comes from the same press releases that everyone can access.

I don't know where Motorola got their "4-core" nomenclature. Probably it has something to do with the number of ROPs.
The performance difference between the Moto X and Galaxy S4 is below a deviation of 5%. GSMArena for example got a slightly better score for the Galaxy S4 in the T-Rex benchmark.

It's the same Adreno 320 GPU as the Snapdragon 600.

And I wonder if the older implementations of the Adreno 320 really have less ALUs or are just lower clocked.


I agree.
Yet we need to understand with precision what it is all about.

Regards, ToTTenTranz ;)

PS : Yes, information is a from pdaDB
 
Anyway, I think Adreno 305 is referred to as a single-core solution in its make-up in contrast with the 320's four cores, though they're not direct scalings of one another (each implementation has a unique balancing of execution resources and other tweaks.)
 
Anyway, I think Adreno 305 is referred to as a single-core solution in its make-up in contrast with the 320's four cores, though they're not direct scalings of one another (each implementation has a unique balancing of execution resources and other tweaks.)

Whee, Lazy8s ! :cool:
There is great logic in your words because:

Adreno 305 based 2Vec4+1 = 9 and has 24 ALU (6 ALU x Vec4) :

6 ALU x 9 x 0.400 = 21.6 GFLOPS

Now 4 x Adreno 305 = 86.4GFLOPS

Adreno 320 MP4 (MSM8960DT) @ 400MHz = 86.4 GFLOPS

This proves that the Adreno 320 (Snapdragon 600) contains 96 ALU (24 ALU x 4Vec) = 24 x 9 x 0.400 = 86.4 GFLOPS.

Adreno 320 (S4 Pro) contains 64 ALU (16 ALU x 4Vec) = 57GFLOPS

Of course, these projections Andreno 320 MP4 must be confirmed ;)
 
Last edited by a moderator:
I still have not seen any evidence whatsoever there's more than one adreno 320. The one in snapdragon 600 tends to run at 450Mhz though (and has ddr3) compared to the one in the s4 pro (the old one, not the relabeled/downclocked snapdragon 600).
Though I bet if you keep posting it at some point it will be DOUBLE CONFIRMED.
As far as I can tell (based on glbenchmark results) adreno 305 has half the fillrate but actually same tri throughput as a 320, and is about 1/3 as fast so 1/4 the alu lanes sounds reasonable (performance varies quite a lot for both 305 and 320, about a factor of two for both, so the slowest 305 is like 6 times slower than the fastest 320, but the slowest 320 is only about 1.5 times as fast as the fastest 305...). I think that's probably mostly due to clocks (potentially including thermal throttling), memory type (and clock) and drivers (probably tied to android version), though some minor changes can't be ruled out for different SoCs neither, but I wouldn't expect the alu lane count to be different.
 
Yeah. I could see different batches of the same GPU maybe varying by the size of on-die buffers or other similar performance-facilitating hardware or just perhaps better binning and clock speed, but I believe all 320s should be quad "core" and all 305s should be single "core". What Adreno refers to as a core includes, at least, execution resources like ALUs and TMUs (2 TMUs per core to be specific), but I don't get the impression they are separate instantiations of independent GPUs by themselves. So, perhaps more like scaling pipelines/clusters.

The 330 obviously has more ALUs and the same number of TMUs as the 320, but I wonder if the ALU count increased by 50%, 100%, or something different?
 
Last edited by a moderator:
Yeah. I could see different batches of the same GPU maybe varying by the size of on-die buffers or other similar performance-facilitating hardware or just perhaps better binning and clock speed, but I believe all 320s should be quad "core" and all 305s should be single "core". What Adreno refers to as a core includes, at least, execution resources like ALUs and TMUs (2 TMUs per core to be specific), but I don't get the impression they are separate instantiations of independent GPUs by themselves. So, perhaps more like scaling pipelines/clusters.

The 330 obviously has more ALUs and the same number of TMUs as the 320, but I wonder if the ALU count increased by 50%, 100%, or something different?


Adreno 330 contains 128 АLU (32 x Vec4) :

32 x 9 (2 Vec4+1) x 0.450MHz = 129.6 GFLOPS

or

2 Vec4 + 1 = 9; 9÷8 = 1.125
128 ALU x 2GFLOPS x 1.125 x 0.450 = 129.6 GFLOPS

Everything about Adreno 330 & Adreno 320 (S4 Pro and S600) here:

--> link Qualcomm Adreno 330 & Snapdragon 800 (FULL)
 
Last edited by a moderator:
Back
Top