I used MKL DSS to solve linear systems with openMP. When calling dss with 32 threads, i came up with a run time error. Debugging messages are as below:
[New Thread 0x7fff86b5e700 (LWP 10279)]
[New Thread 0x7fff8675d700 (LWP 10280)]
[New Thread 0x7fff8635c700 (LWP 10281)]
[New Thread 0x7fff85f5b700 (LWP 10282)]
[New Thread 0x7fff85b5a700 (LWP 10283)]
[New Thread 0x7fff85759700 (LWP 10284)]
[New Thread 0x7fff85358700 (LWP 10285)]
[New Thread 0x7fff84f57700 (LWP 10286)]
[New Thread 0x7fff84b56700 (LWP 10287)]
[New Thread 0x7fff84755700 (LWP 10288)]
[New Thread 0x7fff7fafe700 (LWP 10289)]
[New Thread 0x7fff7f6fd700 (LWP 10290)]
[New Thread 0x7fff7f2fc700 (LWP 10291)]
[New Thread 0x7fff7eefb700 (LWP 10292)]
[New Thread 0x7fff7eafa700 (LWP 10293)]
[New Thread 0x7fff7e6f9700 (LWP 10294)]
[New Thread 0x7fff7e2f8700 (LWP 10295)]
[New Thread 0x7fff7def7700 (LWP 10296)]
[New Thread 0x7fff7daf6700 (LWP 10297)]
[New Thread 0x7fff7d6f5700 (LWP 10298)]
[New Thread 0x7fff7d2f4700 (LWP 10299)]
[New Thread 0x7fff7cef3700 (LWP 10300)]
[New Thread 0x7fff7caf2700 (LWP 10301)]
[New Thread 0x7fff7c6f1700 (LWP 10302)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff7cef3700 (LWP 10300)]
0x00007ffff6da6ca2 in mkl_pds_lp64_c_blkl_omp_pardiso ()
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.149.el6.x86_64 libgcc-4.4.7-11.el6.x86_64 libgomp-4.4.7-11.el6.x86_64
"Tag:3" is a label in my program after dss_reorder, thus it may be something wrong with call of dss_factor_*. However, when i run the same program with only the difference of less threads, say 16, everyting seems OK. No error emerges when calling pardiso with 32 threads also. What happened after all?
You may need to boost stack limit, if you hadn't already done so; even "unlimited" stack may have a maximum number of threads for a given test case.
If you aren't using the entire thread stack allotment, you might try reducing it.
You may need to know whether you are running in 32- or 64-bit mode.