Forums - Vulkan implementation of Neural Net is significantly slower than OpenCL counter part on S10

1 post / 0 new
Vulkan implementation of Neural Net is significantly slower than OpenCL counter part on S10
Join Date: 26 Oct 11
Posts: 12
Posted: Tue, 2019-10-01 09:27

Hey Everyone, 

We have implemented the same algorithm using Vulkan and OpenCL with virtually the same code in their respecitve kernels and shaders. We have have profiled on two devices: Samsung S10 with SD855 and Samsung S8 with SD835 both running Android 9 with the latest September Update.  The results are really odd; the Vulkan implementation on S10 runs much slower than the OpenCL one and even slightly slower than the Vulkan implementation on S8. We are using float32 for both implementations.  See below for details ( Normalized to the perfomance of S10/Vulkan)

S10 - Vulkan:1.0x, OpenCL: 2.65x

S8 - Vulkan:1.23x, OpenCL: 1.48x

The snapdragon profiler  shows that the GPU clock isn't maxed out when runnning Vulkan on S10.  It hovers around 280 MHz while it shoots up to 600+ when running OpenCL on S10 as well as Vulkan and OpenCL on S8.   Keep in mind that we are using the same APK for each profiling run. You can see screenshots of profiler in the link below: Orange -> OpenCL on S10, Blue -> Vulkan on S10 and Red -> Vulkan on S8.

Any insights in this behavior would be really appreciated. 



  • Up0
  • Down0

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.