Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6981 Discussions

segv mkl_dcscmv from multithreaded applications

benjamin_gu
Beginner
540 Views

dear support,

i having a segv from calling mkl_dcscmv from my multithreaded applications. the same code works well if i can it from single thread. here is the message i got from gdb, any other info i can provide to help you find out the problem,

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x2aac4dad3940 (LWP 13096)]
0x0000000000551236 in mkl_spblas_lp64_mc3_dcsr0tg__c__mvout_par ()
(gdb) where
#0 0x0000000000551236 in mkl_spblas_lp64_mc3_dcsr0tg__c__mvout_par ()
#1 0x00000000004fd30b in mkl_spblas_lp64_dcsr0tg__c__mvout_omp ()
#2 0x00000000004fbcce in mkl_spblas_lp64_mkl_dcscmv ()

0 Kudos
6 Replies
Gennady_F_Intel
Moderator
540 Views
How can we reproduce the problem? Can you give us the example to check the problem on our side? also what mk version you are using ?
0 Kudos
benjamin_gu
Beginner
540 Views
i am using version 12.1. but the same problem happens with 12.0 and previous versions. I dont know how to help you reproduce the problem. honestly i can't give you my code to debug.:-) is there any other way to debug? does stack trace help?
0 Kudos
Gennady_F_Intel
Moderator
540 Views
stack will no helps with that case. Can you prepare the test which someone from mkl team can compile and reproduce the problem on our side?
0 Kudos
Sergey_P_Intel2
Employee
540 Views
Could you please provide us with matrix sizes and parameters you use for calling mkl_dcsrmv?
0 Kudos
asd__asdqwe
Beginner
540 Views
Sergey Pudov (Intel) wrote:

Could you please provide us with matrix sizes and parameters you use for calling mkl_dcsrmv?

The author of this thread seems to have problems with dcsCmv, not dcsRmv. He didn't provide any test program, however, if you want to reproduce the segmentation fault, just download the one I provided for dcsRmv here http://software.intel.com/en-us/forums/topic/339743, change the latest calls from [cpp] char transb = 'T'; mkl_dcsrmv(&transb, &n, &k, &one, matdescra, C, J, &_I->operator[](0), &_I->operator[](1), rhsT, &one, xT); [/cpp] to [cpp] char transb = 'N'; mkl_dcscmv(&transb, &k, &n, &one, matdescra, C, J, &_I->operator[](0), &_I->operator[](1), rhsT, &one, xT); [/cpp] and once again, you will a segmentation fault iff OMP_NUM_THREADS>1, this time with dcscmv.
0 Kudos
Sergey_P_Intel2
Employee
540 Views
Sorry, it was a typo in my previous post: I meant mkl_dcscmv functionality of course. Re your example: we are able to reproduce the issue with dcsrmv. Right now we need to understand whether both threads related to the same issue in dcs[c|r]mv functionality or not. So requested info still required for further investigations.
0 Kudos
Reply