- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First some version information, since I suspect this is important:
==
MATLAB Version 7.3.0.298 (R2006b)
Operating System: Linux 2.6.16.54-0.2.5-smp #1 SMP Mon Jan 21 13:29:51 UTC 2008 x86_64
Java VM Version: Java is not enabled
==
mkl/10.0.3.020
I want to make a mex file calling MKL sparse solvers. For now I call sequential libraries, but something goes wrong when I call the resulting file. I have created a custom shared object containing functions
dss_create_
dss_define_structure_
dss_reorder_
dss_factor_real_
dss_delete_
dss_solve_real_
The command line to create the custom shared object looks like this: make em64t export=mrt_inv_funclist_nomp.txt interface=lp64 threading_name=sequential name=libmkl_custom
I have made some modifications in the custom make tool to avoid any calls to libguile
IFACE_COMP_PART=gf
IFACE_THREADING_PART=intel
ifeq ($(interface),ilp64)&nb sp;
IFACE_LIB=libmkl_$(IFACE_COMP_PART)_ilp64.a
else
IFACE_LIB=libmkl_$(IFACE_COMP_PART)_lp64.a
endif
THREADING_LIB=libmkl_sequential.a
CORE_LIB=libmkl_core.a
&nb sp;
func_list := $(addprefix -u ,$(shell cat $(export)))
em64t:
gcc -shared -Bdynamic $(func_list)
$(mklem64t_libpath)/libmkl_solver_lp64_sequential.a
$(xerbla) $(mklem64t_libpath)/$(IFACE_LIB) $(mklem64t_libpath)/$(THREADING_LIB)
$(mklem64t_libpath)/$(CORE_LIB) -L$(mklem64t_libpath) -o $(name).so
The resulting custom shared object is linked with the mex c-file code, which is quite simple. It contains no unresolved references - just matlab libs and the custom object.
Then the example 3x3 system is tried:
mrt_inv(speye(3))
the result is below:
cs_mex_check executed
convert indexing Matlab -> MKL style done
dss_create executed
dss_define_structure executed
MKL-DSS-DSS-Error, An unclassifiable error occurred
All the lines except the last one are debugging messages which I output using Matlab printf functions.
The last line is from MKL and immediately after that Matlab is crashing with no special message.
I tried quite a few variations from the above, but the result is basically the same. My initial suspicion was that Matlab is using old version of MKL, so there may be a version conflict. For this reason I created a custom shared object, so that I can be sure that new MKL blas version is used in my mex file. Unfortunately the crashes keep happening.
Can you advice me what to do and where to look.
Thanks a lot!
--JS
==
MATLAB Version 7.3.0.298 (R2006b)
Operating System: Linux 2.6.16.54-0.2.5-smp #1 SMP Mon Jan 21 13:29:51 UTC 2008 x86_64
Java VM Version: Java is not enabled
==
mkl/10.0.3.020
I want to make a mex file calling MKL sparse solvers. For now I call sequential libraries, but something goes wrong when I call the resulting file. I have created a custom shared object containing functions
dss_create_
dss_define_structure_
dss_reorder_
dss_factor_real_
dss_delete_
dss_solve_real_
The command line to create the custom shared object looks like this: make em64t export=mrt_inv_funclist_nomp.txt interface=lp64 threading_name=sequential name=libmkl_custom
I have made some modifications in the custom make tool to avoid any calls to libguile
IFACE_COMP_PART=gf
IFACE_THREADING_PART=intel
ifeq ($(interface),ilp64)&nb sp;
IFACE_LIB=libmkl_$(IFACE_COMP_PART)_ilp64.a
else
IFACE_LIB=libmkl_$(IFACE_COMP_PART)_lp64.a
endif
THREADING_LIB=libmkl_sequential.a
CORE_LIB=libmkl_core.a
&nb sp;
func_list := $(addprefix -u ,$(shell cat $(export)))
em64t:
gcc -shared -Bdynamic $(func_list)
$(mklem64t_libpath)/libmkl_solver_lp64_sequential.a
$(xerbla) $(mklem64t_libpath)/$(IFACE_LIB) $(mklem64t_libpath)/$(THREADING_LIB)
$(mklem64t_libpath)/$(CORE_LIB) -L$(mklem64t_libpath) -o $(name).so
The resulting custom shared object is linked with the mex c-file code, which is quite simple. It contains no unresolved references - just matlab libs and the custom object.
Then the example 3x3 system is tried:
mrt_inv(speye(3))
the result is below:
cs_mex_check executed
convert indexing Matlab -> MKL style done
dss_create executed
dss_define_structure executed
MKL-DSS-DSS-Error, An unclassifiable error occurred
All the lines except the last one are debugging messages which I output using Matlab printf functions.
The last line is from MKL and immediately after that Matlab is crashing with no special message.
I tried quite a few variations from the above, but the result is basically the same. My initial suspicion was that Matlab is using old version of MKL, so there may be a version conflict. For this reason I created a custom shared object, so that I can be sure that new MKL blas version is used in my mex file. Unfortunately the crashes keep happening.
Can you advice me what to do and where to look.
Thanks a lot!
--JS
Link Copied
0 Replies

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page