segv mkl_dcscmv from multithreaded applications

segv mkl_dcscmv from multithreaded applications

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 ()

7 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

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 ?

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?

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?

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

Zitat:

Sergey Pudov (Intel) schrieb:

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


char transb = 'T';

mkl_dcsrmv(&transb, &n, &k, &one, matdescra, C, J, &_I->operator[](0), &_I->operator[](1), rhsT, &one, xT);


to

char transb = 'N';

mkl_dcscmv(&transb, &k, &n, &one, matdescra, C, J, &_I->operator[](0), &_I->operator[](1), rhsT, &one, xT);


and once again, you will a segmentation fault iff OMP_NUM_THREADS>1, this time with dcscmv.

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.

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen