From: HUANG, J. <hu...@ms...> - 2009-05-20 02:52:45
|
Hi Gábor, I found QSHOW_SIGNALS and howto in BUGS. On Tue, 19 May 2009 15:57:01 +0200 Gábor Melis <me...@re...> wrote: > On Martes 19 Mayo 2009, HUANG, Jianshi wrote: > > Hi Mark, > > > > I've tried your method, it works great! Thanks. > > > > The only problem I found now is that if the program is interrupted > > when it's in the foreign code, sometimes it may crash SBCL (1.0.28.47 > > Linux 64bit). > > > > I'm currently wrapping all the foreign funcalls to MKL functions with > > sb-sys:without-interrupts. So far so good. > > > > I'll run some test during the night. > > > > > > Thanks, > > Jianshi > > So almost everyone is happy. Without-interrupts should not matter, > though. I'm interested in how it fails, ldb, --lose-on-corruption, gdb, > QSHOW_SIGNALS are your friends, see BUGS for a short how to. > > Also, it's less than clear how/why the workaround below solves the > problem. > > > On Fri, 15 May 2009 10:30:21 +1000 > > > > Mark Cox <mar...@gm...> wrote: > > > Hi, > > > > > > I use MKL (and IPP) in my work as well and have experienced the > > > same sort of thing as you. At first I just switched to the > > > sequential (unthreaded) version of MKL due to time constraints and > > > the problem went away. Recently I gave it another go and got it to > > > work. > > > > > > I created another dynamic library which links to the intel MKL > > > library using the following: > > > 64bit version > > > gcc -shared -fPIC $(CFLAGS) -o mylib.so $(SOURCES) \ > > > $(MKL_INCLUDES) \ > > > -L$(MKL_ROOT_LIBS)/em64t \ > > > -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lm -lgomp -lgfortran - > > > lpthread > > > > > > 32bit version > > > gcc -m32 -shared -fPIC $(CFLAGS) -o mylib.so $(SOURCES) \ > > > $(MKL_INCLUDES) \ > > > -L$(MKL_ROOT_LIBS)/32 \ > > > -lmkl_gf -lmkl_gnu_thread -lmkl_core -lm -lgomp - > > > lgfortran -lpthread > > > > > > and then loaded that shared library via cffi. > > > > > > My system uses sbcl 1.0.25 pulled from the sbcl website and fedora > > > 9. > > > > > > Mark > > > > > > On 14/05/2009, at 7:18 PM, HUANG, Jianshi wrote: > > > > Hello, > > > > > > > > Is there anyone succeeded in using the multithreaded version of > > > > Intel MKL in SBCL? It crashed my lisp (segfault). I'm using SBCL > > > > 1.0.28.22 x86_64 on Linux. > > > > > > > > I tried to debug using gdb but was unable to finish the program > > > > since too many SIGSEGVs were signaled and didn't seems to stop. > > > > So I have no idea why it crashed yet. > > > > > > > > The source code for testing is attached with the email, but you > > > > need to > > > > install Intel MKL first (and run the mklvarsem64t.sh script to > > > > establish the environment). > > > > > > > > The multithreaded version of Intel MKL depends on Linux's pthread > > > > for their openmp implementation. And I'm currently loading the > > > > libmkl_gnu_thread.so for the threading layer, as according to the > > > > documents this is the one that supports gnu compilers. > > > > > > > > It will be very helpful if someone can give me some advice. > > > > > > > > > > > > > > > > Cheers, > > > > Jianshi > -- --------------------- |