Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6980 Discussions

troubles linking the MKL sparse solver to my application

Miguel_Jimenez
Beginner
193 Views

Hi all,

I'm having troubles linking my code with the MKL sparse solver library and I would like to ask for your help.

I'm building a fortran project using the Intel Visual Fortran compiler 10.0.026 for 64 bit on MS Visual Studio 2005.

INCLUDE C:\\Program Files\\Intel\\MKL\\10.0.5.025\\include
LIBPATH C:\\Program Files\\Intel\\MKL\\10.0.5.025\\em64t\\lib

I have made sure that

mkl_dss.f90 and
mkl_blas.f90
mkl_blas.fi

are in the \\includedirectory

I'm linking the following libraries

mkl_blas95.lib
mkl_solver_lp64.lib
mkl_intel_lp64.lib
mkl_intel_thread.lib
mkl_core.lib

which I made sure are contained in the C:\\Program Files\\Intel\\MKL\\10.0.5.025\\emt64t\\lib directory

The

mkl_blas95 library

mkl95_blas.mod

mkl95_precision.mod

are contained in the \\em64t\\lib directory and I have no troubles opening the mkl95_blass module


atlinking, the compiler sends the following error message

Error: Error in opening the compiled module file. Check INCLUDE paths. [MKL_DSS]

Then I created the module using

ifort -c mkl_dss.f90

and copied the mkl_dss.mod file into my \\emt64t\\lib directory first and then into my \\x64\\Debug\\ directory with no success on either case. Finally I took the mkl_dss.f90 file and explicitly included in my project and it compiled sucessfully, the application works!!.

Could you help me understand what am I doing wrong?
Why the compiler is not creating the mkl_dss.mod?
Why isn't this an issue for the mkl95_blas module?

Thanks!

Miguel

0 Kudos
2 Replies
mecej4
Honored Contributor III
193 Views
You wrote "atlinking, the compiler sends the following error message

Error: Error in opening the compiled module file. Check INCLUDE paths. [MKL_DSS] "

Module files (*.mod) are used by the compiler (when it encounters USE statements in the source code), not by the linker. Before you can compile a source file that contains USE statements, the USEd modules must be available.

Modules are searched for in specific directories. There is a module file search path just as there is a library search path, executable search path, and an INCLUDE file search path.

Read the compiler documentation (or ifort -help output) to help decide where to put the .mod files.

0 Kudos
Gennady_F_Intel
Moderator
193 Views

Miguel,

Fyi please look at the F90 example of program for solving a symmetric positive definite system.

You can find this example (dss_sym_f90.f90) in \examples\solver\source\ directory.

You can try to build it by using makefile:

nmake em64t funtion=dss_sym_f90+

--Gennady

0 Kudos
Reply