Results: GPGPU Benchmarks
CompuBenchRS
CompuBenchRS tests the compute performance of multi-core systems supporting the RenderScript API (a component of the Android operating system), which is similar to CUDA or OpenCL, and can distribute parallel tasks across all compute cores. As of Android 4.2, RenderScript is expanded to run on the GPU, in addition to the CPU of supported systems.
On compute-capable GPUs, the benchmark runs on the graphics engine. Otherwise, the tests stress CPU cores. CompuBenchRS sub-tests cover the following categories: Computer Vision (Face Detection), 3D Graphics (Provence - ray tracing), Image Processing (Gaussian Blur, Histogram), Physics (Particle Simulation – 4K), and Throughput (Julia Set, Ambient Occlusion).
Snapdragon 805 sees a small regression on the Face Detection test, although driver maturity may be holding Adreno 420 back. Since RenderScript requires software support to run on the GPU, CompuBenchRS results vary widely between devices depending on what driver version they’re using.
The ray tracing test shows a similar result, with the 805 trailing its predecessors. It's clear from the previous GPU benchmarks that the higher-clocked Adreno 420 packs more compute power than Adreno 330, so I'm not overly concerned with these results at this point. Hopefully, driver maturity will improve once devices with the 805 SoC start shipping.
The Gaussian Blur results are certainly more promising, with the 805 showing almost a 2x advantage over the 801. Snapdragon 800 suffers a significant deficit to the 801 that can't be accounted for based on clock rate differences alone. It's possible that the 800 (and possibly the Tegra 4) are running this test on the CPU cores instead of the GPU.
Snapdragon 805 and 801 trade places in the second Image Processing test. It's difficult to draw conclusions based on such inconsistent results.
Snapdragon 805 wins two out of the three Image Processing tests, demonstrating a respectable lead over the 801 in the Histogram metric. It appears the Snapdragon 800 and Tegra 4 devices aren't running on the GPU again in this benchmark, likely due to older drivers.
The 805 finishes ahead of the 801, but interestingly falls behind both of the Cortex-A15-powered SoCs. This finishing order seems more plausible if the Physics Simulation is running on the CPUs, rather than the GPUs.
The Ambient Occlusion test shows Snapdragon 805 with a significant advantage over Qualcomm's 801. However, it falls short of the Exynos 5 Octa. I'm not sure if we're seeing a driver or hardware limitation.
Wrapping up our GPGPU benchmarks on a positive note, we see the 805 trounce the other SoCs by establishing an almost-6x advantage over the 801. This result is tempered somewhat, however; I suspect the other SoCs are only using their CPU cores and not benefiting from GPU acceleration like the 805.
It's difficult to draw definitive conclusions about Snapdragon 805’s compute performance based on still-spotty industry support for running RenderScript on competing GPUs. As a result, these tests say more about the state of feature support than actual hardware potential. Hopefully, RenderScript support continues to improve within the Android ecosystem. Having a GPU-accelerated compute API that's hardware vendor-agnostic will not only make benchmarking easier, but also lead to the development of more apps leveraging graphics horsepower.