Community
cancel
Showing results for 
Search instead for 
Did you mean: 
40 Views

Problem in matrix basic operation

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
Black Belt
40 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.
Gennady_F_Intel
Moderator
40 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.
40 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

Gennady_F_Intel
Moderator
40 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.