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

Problem in matrix basic operation

Ranee_Thiagarajah
954 Views

I am running the following program using Intel visual fortran compiler professional edition with IMSL on Window Vista.

The first two routines works fine. The third one "LINDS" for computing inverse of a matrix doesn't work. I get error message : this application has failed becasuse mkl-intel-thread.dll was not found. It was included in the conguration properties-> linker->input-> addtional dependencies.

Can anyone please help me what I need to include in the program to get the inverse of the matrix.
Here is the codes I tried:

! trymatrix.f90
!
program trymatrix
use mxtyf_int
use mrrrr_int
use linds_int
implicit none
!
real:: a(3,4),b(3,3),c(4,3),d(4,3),e(3,3),f(3,3),g(3,3)
data a/1.0,3.0,2.0,0.0,4.0,1.0,2.0,-1.0,2.0,0.0,0.0,1.0/
data b/-1.0,3.0,0.0,2.0,0.0,5.0,0.0,-1.0,2.0/
data d/-1.0,3.0,0.0,2.0,0.0,5.0,0.0,-1.0,2.0,2.0,-1.0,5.0/
data f/1.0, -3.0,2.0,-3.0,10.0,-5.0,2.0,-5.0,6.0/
call mxtyf(a,b,c)
call mrrrr(a,d,e)
call linds(f,g)
print*,'c(1,1)=',c(1,1)
print*,'c(3,3)=',c(3,3)
print*,'c(4,3)=',c(4,3)
!
print*,'e(1,1)=',e(1,1)
print*,'e(2,2)=',e(2,2)
print*,'e(3,3)=',e(3,3)
!
print*,'g(1,1)=',g(1,1)
end program trymatrix

0 Kudos
4 Replies
mecej4
Honored Contributor III
954 Views
The message, "this application has failed becasuse mkl-intel-thread.dll was not found", is self-explanatory.

Including the MKL directory in the linker dependencies enabled the linker to find the MKL libraries. You probably linked to the MKL import libraries (as opposed to static libraries), which means that the library code still resides in the MKL DLLs, and your application needs to load one or more of those DLLs when the third subroutine makes an MKL routine call.

Simply add the directory containing the MKL DLLs to your execution PATH. I cannot be more specific than that since you did not divulge information regarding versions and directories.
0 Kudos
Gennady_F_Intel
Moderator
954 Views
my two cents - mkl_intel_thread will require to have libiomp5md.dll/lib existing in the system path. Starting since the latest version 10.3, these threading dll/lib are situated in the another directories.
0 Kudos
Ranee_Thiagarajah
954 Views
Thanks for both responds. I use version 11.1

I have successfully compiled and executed several fortran projects with various IMSl subroutines . In each project, I add 2 things:
(1) I include the dll file in the following location:
c:\document\visual studio 2008\projects\trymatrix\trymatrix folder\libiomp5md.dll.

(2) I alsoadd the following lib's

project-> finename properties->configuration properties-> Linker-> input -> Additional dependencies

imsl.lib imslsuperlu.lib imslhpc_l.lib imsls_err.lib imslmpistub.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib imslmkl_dll.lib mkl_intel_c_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib libguide40.lib

But, in this project trymatrix (this is an example from IMSL guide),the LINDS subroutine creates the problem. In the IMSLmanuals, they gave examples using scaLAPACK . Is there anylib/dll files related to scaLAPACK which needs to be included?

When I click "Build solution" compilation works ok.
> compiling with intel visual fortran 11.1.035 (IA-32).
....
> Build: 1 succeeded, 0 - failed....
When I click with (or without) debugging, "trymatrix.exe - unable to locate compnent" window pop up and show the sameerror message I pointed out in my original message.

Thanks in advance for any help.
Ranee

0 Kudos
Gennady_F_Intel
Moderator
954 Views
once again, why do you combinemkl_intel_thread.lib and mkl_intel_thread_dll.lib into one linkinkg line? Mecey4 has already recommended you to use mkl_linker_adviser to check the list of recommendedlibraries.
0 Kudos
Reply