SPEC2006 Performance & Efficiency

HiSilicon made some big promises for the Kirin 980, claiming up to 75% higher performance while improving efficiency by 58%. This time around for our analysis, I’m starting with the results off the bat and going into the more detailed analysis later.

We’re picking off with our mobile SoC SPEC2006 results where we left off in our Apple A12 analysis, and add the scores of the new Kirin 980 to the new set.

As a reminder, as the scores aren’t submitted to SPEC, we have to put a disclaimer that these are just estimates as they aren’t officially validated. Naturally, we verify that the tests are run correctly in-house.

When measuring performance and efficiency, it’s important to take three metrics into account: Evidently, the performance and runtime of a benchmark, which in the graphs below is represented on the right axis, growing from the right. Here the bigger the figures, the more performant a SoC/CPU has benchmarked. The labels represent the SPECspeed scores.

On the left axis, the bars are representing the energy usage for the given workload. The bars grow from the left, and a longer bar means more energy used by the platform. A platform is more energy efficient when the bars are shorter, meaning less energy used. The labels showcase the average power used in Watts, which is still an important secondary metric to take into account in thermally constrained devices, as well as the total energy used in Joules, which is the primary efficiency metric.

Both the SPECint2006 and SPECfp2006 overall scores paint a much better picture than HiSilicon lead us to believe in their estimates, and the figures are also ahead of what I had personally estimated using Arm’s marketing materials during the Cortex-A76 launch.

Against the Kirin 970, the Kirin 980 is sporting about flat out double the SPEC2006 performance. Naturally this is a comparison between SoCs two CPU generations apart, but it’s still an outstanding showing because the improvements were not only in the benefit of performance, but also energy efficiency.

The Kirin 980’s energy usage while completing the workloads is among the best in the space, ending about in the same range as Apple’s A12 SoC, slightly eding it out in SPECint2006 as well as SPECfp2006.

We have to remember that the energy usage isn’t the same as power efficiency: While energy usage of a workload is an immensely important metric that will very much correlate to the battery life of a device, the power efficiency of a CPU and SoC is something needs to take into consideration the actual performance as well. In this case, the actual perf/W of the Kirin 980 is only about 28% better than the Kirin 970. So if performance has doubled, and energy usage has also gone down, then it means that something had to give, and that is the power usage.

The new Cortex-A76 cores and the memory subsystem of the Kirin 980 are a lot more power hungry, reaching 2.14W average in SPECint and 2.65W in SPECfp, a notable increase over the 1.38W and 1.72W of the Kirin 970. In a sense, Arm’s new microarchitectures, including the Cortex-A75 of the Snapdragon 845, have been able to increase their performance in a more linear fashion alongside power.

Now this is not really a negative as long as the relationship between gained performance and raised power usage is kept in check. The best example is obviously Apple’s SoCs, which do sport very high power figures, but also come with very high performance. The best counter-example is the Exynos 9810’s higher frequency states, which come with similarly high power requirements, however don’t showcase an equal increase in performance, thus resulting in a big efficiency disadvantage.

Looking at the wider range of historical SPEC2006 scores, we see the Kirin 980 just losing out to Apple’s A10 in terms of performance. As I had expected some months ago, the A76 largely puts the vastly bigger and more complex Exynos M3 to shame as it manages to post better performance while at the same time using much less power as well as using about half the energy to complete the benchmark.

While Arm has already disclosed the key aspects and improvements of the Cortex-A76 microarchitecture, we can still go over the more detailed SPEC2006 subtests to see if we can extract any further meaningful information:

In SPECint2006, the Kirin 980’s gains are quite relatively even across the board, possibly showcasing a more balanced approach towards the different aspects of the microarchitecture. The biggest generational gains were found in 403.gcc where we see a 2.67x improvement over the Kirin 970. It’s a bit unfortunate that we don’t have a better “apples-to-apples” comparison to the Cortex-A75; the Snapdragon 845’s DRAM memory latency isn’t very good due to its “L4” system cache block, which does handicap it a tad in SPEC.

456.hmmer and 464.h264ref are the two most execution backend bound tests in the suite, and the Cortex-A76 again performs excellently here, showcasing scores that are about in line what you’d expect from the 4-wide microarchitecture as well as clock frequency. I might sound like broken record by now, but again this comes at a great contrast versus Samsung’s M3 core, which in theory just should perform much better than it does.

Something that’s also obvious here is that even though the Cortex-A76 and Kirin 980 are able to show good improvements, it’s not enough to even remotely close the big performance gap in memory latency and bandwidth sensitive tests  – here Apple’s monstrous memory subsystem is just that much further ahead.

In the SPECfp2006 results, we again see some really big improvements of the Kirin 980 versus the 970. Again the generational improvement over the A75 is a bit clouded through the comparison to the Snapdragon 845, which in these memory sensitive tests didn’t manage to separate itself much from the previous Cortex A73 based Snapdragon 835.

Still, all, in all, we see very rounded off improvements across the board in all benchmarks, which fares very well for the Kirin 980 both in terms of performance gains as well as energy usage improvements.

Overall, the Kirin 980 as well as Arm’s Cortex-A76 both delivered on their promises on the CPU side, and even managed to surpass by initial performance projections of the new core. No, the Kirin 980 certainly is not able to match Apple’s A12, or even A11 for that matter, and it’s likely this situation won’t change all that much in the next few generations, at least until the Android SoC vendors invest in significantly better and more robust memory subsystems.

The Kirin 980’s performance here should largely represent what we’ll see in the next generation Snapdragon as well – I expect Qualcomm to be able to push the clocks just slightly more, but the big question here is what they will do on the memory subsystem side and if they’ll be able to get rid of the latency penalty that was introduced with the L4 system cache.

For Samsung, the Cortex-A76 is just scary (Apple aside). If the next generation M4 core is just an iterative microarchitecture, I have a really hard time seeing it compete. Here we’ll need to see major improvements both in performance as well as power efficiency in order to have the next gen Exynos to be able to match the Kirin 980, yet alone beat it.

The Kirin 980 - A Recap Overview Second Generation NPU - NNAPI Tested
Comments Locked

141 Comments

View All Comments

  • name99 - Friday, November 16, 2018 - link

    Please don't treat me like a child; read my comments and treat me accordingly.
    DDR as a rate (transactions) DOUBLE the clock was only relevant to the transition from SDR to DDR.
    What do you think is the difference between DDR and DDR2, or DDDR2 and DDR3, or DDR3 and DDR4?

    Part of the problem seems to be that no-one can agree on what "clock" actually refers to.
    There are at least two clocks of interest - the internal DRM clock, and the external bus clock.

    As far as I can tell:
    - DDR doubled the transfer rate over the external bus. (External bus, internal clock the same, just like SDR). Internal clock is ~100..200MHz
    - DDR2 runs the external clock at twice the internal clock.
    - DDR3 runs the external clock at 4x the internal clock. (still running from ~100 to 266MHz)

    - At DDR4 I'm no longer sure (which is part of the whole reason for this confusion).
    The obvious assumption is that the external clock is now run at 8x the internal clock; but that does NOT seem to be the case. Rather what's defined as the internal clock is now run twice as fast, so that the internal:external multiplier is still 8x, but the internal clock speeds now range from ~200 to ~400MHz.

    Meanwhile, is LPDDR following the same pattern at each generation? I haven't a clue, and can find no useful answer on the internet.
  • anonomouse - Friday, November 16, 2018 - link

    I think the discussion of internal/external clock ratios is somewhat orthogonal to your originally posed question: the clock that is being advertised is the IO clock for the LPDDR4 modules, since they're telling you what the peak bandwidth of the module is. Commands are on the same clock but SDR instead of DDR and each command takes multiple cycles. Don't quite see what is so confusing about the 2133MHz clock though, since the way they are describing it is entirely accurate and is no different from previous practices. DDR4-3200 has a 1600MHz IO clock too.

    Also worth remembering that while pin speed is higher, individual LPDDR4 channels are 16bits vs 64bits, so it's not like the actual bandwidth is necessarily higher. This phone has 4-channels to get 34.1GB/s, which is the same bandwidth you'd get from a 2-channel DDR4-2133 system, but much more feasible to scale up capacity/channels/clocks on DDR4.
  • frostyfiredude - Saturday, November 17, 2018 - link

    Look, I have no idea where you're going with all the internal clocks and DDR4, DDR3, etc differences so I'm not commenting. But, here are the facts on the Mate 20 Pro:

    The DRAM - Memory controller interface is clocked at 2133Mhz.
    Due to being of the DDR family, 2 bits are transferred per clock.
    Together, this mean 4266Mbits/s transfer rate per pin.
    Finally its a 64-bit bus, meaning 64 data pins. 273024Mbits/s aggregate bandwidth.
    That breaks down to 34.1GB/s.
    In standard DIMM form on your favourite PC parts store, this is advertised as DDR4-4266 or PC4-34100.
  • ternnence - Friday, November 16, 2018 - link

    closer from ram to cpu core, higher frequency ram could get. HBM is another example.
  • eastcoast_pete - Friday, November 16, 2018 - link

    @Andrei: thanks for this in-depth review! I wonder how S.LSI takes your pessimistic take on their M4; it seems they have a hard time backing away from their in-house design that doesn't seem to cut it. Also, I appreciate that you're live-updating the review with additional information; I trust reviews that add and update their findings as new data become available much more than the one-and-done style.
    Question: Did you have a chance to ask Huawei along those lines: "What is your commitment to OS updates, how quickly will you make them available, and for how many years?". Having been burned by Huawei a few years ago (promised OS update never arrived), I am still a bit once burned, twice shy. These devices are pricey, and if Huawei wants to take on Apple at Apple prices, they should mirror Apple's commitment to provide OS updates for several years.
  • rayhydro - Friday, November 16, 2018 - link

    I'm using the mate 20 now, and I can confirm it has the same stereo setup as the mate20pro. maybe your unit's top tweeter is faulty ?
  • rayhydro - Friday, November 16, 2018 - link

    I tested both side by side in the stores, both model's stereo speakers sound pretty much the same or extremely similar to my ears. I opted for mate 20 due to it's smaller notch and headphone jack :D
  • lucam - Friday, November 16, 2018 - link

    I still think Mali GPU is a garbage GPU
  • Lolimaster - Friday, November 16, 2018 - link

    To put it simply, at the same year, they're 1 year behind.

    Mali G76 MP10 ~ Adreno 540 (a bit faster on the mali side, maybe)
  • lucam - Saturday, November 17, 2018 - link

    Adreno is always been better. Still think Imagination has the best solution tho

Log in

Don't have an account? Sign up now