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 ()
#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 ()
Sergey Pudov (Intel) wrote: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.
Could you please provide us with matrix sizes and parameters you use for calling mkl_dcsrmv?