0

I port sgemm function from weblas using c/c++ opengl es3.0. (which i caled esgemm). I have a application using this sgemm function. but I find the speed is very slow on Android. here is my test result. PC(Core™ i7-6700 CPU @ 3.40GHz × 8 HD Graphics 530 (Skylake GT2) ):

openBlas 52.91ms

esgemm 67.7ms

CL blas 68.88

Android S6 (Exynos 7420 2.1GHz x4 1.5GHz x4 , Mali-T760):

openBlas 62.96ms

esgemm 1027.59ms

Cl blas 1054.55ms

in the above score, CL blas, is my opencl version sgemm (port from clMathLibraries). the performance is same this opengl es version.

Does anyone do the similar work? Why the speed on S6 is so slow? Does mobile GPU cannot support data calculation?

the code is uploaded github esgemm

Community
  • 1
  • 1
Jesse
  • 43
  • 5
  • It would be better if you profile the openCL code and openGL code. It is very difficult to predict from the information you gave. It may be a driver issue, Android OS issue, the codes you wrote may not be optimised etc. – parallel highway Jul 21 '17 at 12:18
  • Thanks parallel highway. I have post my code to [git hub](https://github.com/xinyu391/esgemm). the most code is similar to [weblas](https://github.com/waylonflinn/weblas/). Please help me to analyse this performance issue. – Jesse Jul 24 '17 at 03:27
  • What I mean is, the problem may not be with your code only. CLblas is also significantly slower. That's why I suggested you should profile it. I found a similar issue in there [link](https://community.arm.com/graphics/f/discussions/2893/performance-and-sgemm-example?pi69=70). They suggested it is something to do with the DVFS configuration. You can try that as well imo. – parallel highway Jul 24 '17 at 11:14

0 Answers0