Machine Learning Inference Performance - The Xiaomi Mi9 Review: Flagship Performance At a Mid-Range

August 2024 · 3 minute read

Machine Learning Inference Performance

AIMark 3

AIMark makes use of various vendor SDKs to implement the benchmarks. This means that the end-results really aren’t a proper apples-to-apples comparison, however it represents an approach that actually will be used by some vendors in their in-house applications or even some rare third-party app.

鲁大师 / Master Lu - AIMark 3 - InceptionV3 鲁大师 / Master Lu - AIMark 3 - ResNet34 鲁大师 / Master Lu - AIMark 3 - MobileNet-SSD 鲁大师 / Master Lu - AIMark 3 - DeepLabV3

In AIMark, the Mi9 offers the needed library support from Qualcomm for the benchmark to work. In terms of performance, the device ranks high, although it’s just slightly edged out by the rest of the Snapdragon 855 devices.

AIBenchmark 3

AIBenchmark takes a different approach to benchmarking. Here the test uses the hardware agnostic NNAPI in order to accelerate inferencing, meaning it doesn’t use any proprietary aspects of a given hardware except for the drivers that actually enable the abstraction between software and hardware. This approach is more apples-to-apples, but also means that we can’t do cross-platform comparisons, like testing iPhones.

We’re publishing one-shot inference times. The difference here to sustained performance inference times is that these figures have more timing overhead on the part of the software stack from initialising the test to actually executing the computation.

AIBenchmark 3 - NNAPI CPU

We’re segregating the AIBenchmark scores by execution block, starting off with the regular CPU workloads that simply use TensorFlow libraries and do not attempt to run on specialized hardware blocks.

AIBenchmark 3 - 1 - The Life - CPU/FP AIBenchmark 3 - 2 - Zoo - CPU/FP AIBenchmark 3 - 3 - Pioneers - CPU/INT AIBenchmark 3 - 4 - Let's Play - CPU/FP AIBenchmark 3 - 7 - Ms. Universe - CPU/FP AIBenchmark 3 - 7 - Ms. Universe - CPU/INT AIBenchmark 3 - 8 - Blur iT! - CPU/FP

The CPU results in AI Benchmark are relatively mixed in terms of their positioning for the Mi9. In some of them, the Mi9 falls in amongst the last S855 devices, while in others, it more in the middle of the pack. Overall, this is just a matter of how the scheduler and DVFS is tuned on the Mi9. It’s to be noted that the differences between the devices here is very minor, with only a 10% difference between the best and worst Snapdragon 855 devices.

AIBenchmark 3 - NNAPI INT8

AIBenchmark 3 - 1 - The Life - INT8 AIBenchmark 3 - 2 - Zoo - Int8 AIBenchmark 3 - 3 - Pioneers - INT8 AIBenchmark 3 - 5 - Masterpiece - INT8 AIBenchmark 3 - 6 - Cartoons - INT8

In the INT8 tests which are accelerated on the SoC’s Hexagon DSP, we’re seeing the Mi9 lands in the middle of the pack again.

On the last “Cartoons” test running VGG-19, we’re seeing that the Mi9 is falling behind the rest of the pack alongside the LG G8. The reason for this is likely that the device is shipping with older NNAPI drivers than the rest of the Snapdragon 855 phones. The firmware we’ve tested this on was the latest at the time of testing in early September.

AIBenchmark 3 - NNAPI FP16

AIBenchmark 3 - 1 - The Life - FP16 AIBenchmark 3 - 2 - Zoo - FP16 AIBenchmark 3 - 3 - Pioneers - FP16 AIBenchmark 3 - 5 - Masterpiece - FP16 AIBenchmark 3 - 6 - Cartoons - FP16 AIBenchmark 3 - 9 - Berlin Driving - FP16 AIBenchmark 3 - 10 - WESPE-dn - FP16

In the FP16 tests the Mi9 again ends up middle of the pack.

AIBenchmark 3 - NNAPI FP32

AIBenchmark 3 - 10 - WESPE-dn - FP32

Finally, the FP32 test running on the GPU ends up as the last Snapdragon 855 device in the pack, although again the differences here between the devices are very small, and it’s still performing vastly better than any other non-Snapdragon device.

ncG1vNJzZmivp6x7orrAp5utnZOde6S7zGiqoaenZH51g5BtZq2glWLFqq3OpqBmpZluerOx1aKcsGWWoa6ov8eip2aolaezbrnInamappeaerG%2ByJycaGs%3D