Forums - In Gemm app provided with SDK 3.1, how to make M values to work with values less than 8,

4 posts / 0 new
Last post
In Gemm app provided with SDK 3.1, how to make M values to work with values less than 8,
zaheer.ks
Join Date: 29 Sep 16
Posts: 2
Posted: Wed, 2017-03-22 00:17

Hi Qcom,

In the Gemmapp example provided with SDK 3.1, when M is not multiple of 32 in runbenchmark32, adsp is crashing,

M = 32

N= 32

K = 32 --> it is working

 

M=48 --> 48 %32 not equal 0

N =32

K = 32 --> adsp crashing

1) How to make M values less than 8 to work with GEMM, please provide insight.

2) runbenchmark8 operates on static matrix defined in benchmarkJobs.h ==> int MNK[3*63](static)

 

 

 

Thanks

Zaheer

  • Up0
  • Down0
Helu
Join Date: 3 Feb 17
Posts: 8
Posted: Wed, 2017-03-22 02:20


​Hi,-

Still trying to shake some life into this forum ....

​I picked up your example as I would like to see if there were some possible things to learn from it. But in both cases of running make it crashes... (A pop up tells me that hexagon-ar.exe has stopped working) - :

C:\Qualcomm\Hexagon_SDK\3.1\examples\common\gemm>make tree VERBOSE=1 V=hexagon_ReleaseG_toolv72_v60
making c:\Qualcomm\Hexagon_SDK\3.1/libs/fastcv/dspCV
make[1]: Entering directory `c:/Qualcomm/Hexagon_SDK/3.1/libs/fastcv/dspCV'
"C:/Qualcomm/HEXAGON_Tools/7.2.12/Tools/bin/hexagon-ar"  -rsc -D hexagon_ReleaseG_toolv72_v60/libdspCV_skel.a hexagon_ReleaseG_toolv72_v60/dspCV_skel.o hexagon_ReleaseG_toolv72_v60/dspCV_hvx.o hexagon_ReleaseG_toolv72_v60/dspCV_concurrency.o hexagon_ReleaseG_toolv72_v60/dspCV_imp.o hexagon_ReleaseG_toolv72_v60/dspCV_worker.o hexagon_ReleaseG_toolv72_v60/dspCV_sync.o
make[1]: *** [hexagon_ReleaseG_toolv72_v60/libdspCV_skel.a] Error -1073741819
make[1]: Leaving directory `c:/Qualcomm/Hexagon_SDK/3.1/libs/fastcv/dspCV'
make: *** [MAKE_D_DSPCV_INCDIR] Error 2
 
and
 
C:\Qualcomm\Hexagon_SDK\3.1\examples\common\gemm>make tree VERBOSE=1 android_Release
making c:\Qualcomm\Hexagon_SDK\3.1/libs/fastcv/dspCV
make[1]: Entering directory `c:/Qualcomm/Hexagon_SDK/3.1/libs/fastcv/dspCV'
"C:/Qualcomm/HEXAGON_Tools/7.2.12/Tools/bin/hexagon-ar"  -rsc -D hexagon_Release_dynamic_toolv72_v60/libdspCV_skel.a hexagon_Release_dynamic_toolv72_v60/dspCV_skel.o hexagon_Release_dynamic_toolv72_v60/dspCV_hvx.o hexagon_Release_dynamic_toolv72_v60/dspCV_concurrency.o hexagon_Release_dynamic_toolv72_v60/dspCV_imp.o hexagon_Release_dynamic_toolv72_v60/dspCV_worker.o hexagon_Release_dynamic_toolv72_v60/dspCV_sync.o
make[1]: *** [hexagon_Release_dynamic_toolv72_v60/libdspCV_skel.a] Error -1073741819
make[1]: Leaving directory `c:/Qualcomm/Hexagon_SDK/3.1/libs/fastcv/dspCV'
make: *** [MAKE_D_DSPCV_INCDIR] Error 2
 
This is on a lenovo yoga 710 machine with 8 GB RAM - windows 10 and

C:\Qualcomm\Hexagon_SDK\3.1\examples\common\gemm>hexagon-ar -version
LLVM (http://llvm.org/):
  LLVM version 3.9.0git-dffff00
  DEBUG build with assertions.
  Built Dec 16 2016 (17:52:08).
  Default target: hexagon-unknown--elf
  Host triple: x86_64-pc-win32
  Host CPU: broadwell

************************
So no luck with that - so far
​************************
Isn't the M factor you are talking about a matter of how many bits there are in each element? ... 8, 16, 32 ... ?

​Br,

​Henrik

ps. Note to forum owner: Not possible to attach screendump pictures ?
 
 

 

  • Up0
  • Down0
chennak
Join Date: 22 Sep 16
Posts: 78
Posted: Sat, 2017-03-25 23:04

the build variant hexagon_Release_dynamic_toolv72_v60 uses 7.2 tools. 7.2 hexagon-ar has issues on windows 10.

So any build variant that contains toolv72_v60 does not work on windows 10 due to 7.2 hexagon-ar limitation. 

this hexagon-ar has been fixed in 8.0 tools. 

Please use hexagn_Relese_dynamic_toolv80_60 variant

  • Up0
  • Down0
zaheer.ks
Join Date: 29 Sep 16
Posts: 2
Posted: Mon, 2017-03-27 06:47

Were you successful in getting dynamic skel *.so?

Any particular reason to use static skel.?

BTW I am using ubuntu, I guess you have pasted hexagon build fail logs for android build too.

try using dynamic build for generating skel so's and try.

  • Up0
  • Down0
or Register

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.