[solved] Can't get function MKL_DDNSCSR to work

[solved] Can't get function MKL_DDNSCSR to work

I compiled the example file mkl/examples/spblas/source/converters_c.c. I did not modify the file. Compilation went without any warnings or errors. When I try to run the created binary I get the following error:

EXAMPLE PROGRAM FOR CONVERTER FROM ONE
SPARSE FORMAT ROUTINES TO OTHER
MKL ERROR: Parameter 1 was incorrect on entry to MKL_DDNSCSR

Compiler was: icc version 11.1

Command line options (created with Intel MKL Link Line Advisor): -L$MKLPATH $MKLPATH/libmkl_solver_ilp64.a -Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread

The error appears on ubuntu 10.04 as well as on centos 5.4, both of them intel64.

I would be very thankful for getting this fixed.

Sren

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

Hi,

If you linked with ILP64 MKL libraries you need to add compiler option -DMKL_ILP64 for C-compilation

Or please try to use LP64 model:

-L$MKLPATH $MKLPATH/libmkl_solver_lp64.a -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread

Thanks,
-- Victor

Hi Victor,thanks for your fast reply. Both of your advices worked. Can you explain me the difference between ILP64 and LP64 please?Sren

Shortly,

for ILP64: relationship between int, long and pointersuch thatall three are the same size

for LP64: int is just 32-bit but others are 64-bit

Thanks,
-- Victor
Thanks,
-- Victor

or the same info you can find into MKL User's Guide: see chapter 3, "Support for ILP64 Programming"

Leave a Comment

Please sign in to add a comment. Not a member? Join today