Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

Linking MKL_DFTI error

Masrul
Beginner
887 Views

Dear all;

I need to use mkl_dfti module. For the following sample code,

program test
    use MKL_DFTI
    Complex :: X(32)
    Real :: Y(34)
    type(DFTI_DESCRIPTOR), POINTER :: My_Desc1_Handle, My_Desc2_Handle
    Integer :: Status
    Status = DftiCreateDescriptor( My_Desc1_Handle, DFTI_SINGLE,&
       DFTI_COMPLEX, 1, 32 )
    Status = DftiCommitDescriptor( My_Desc1_Handle )
    Status = DftiComputeForward( My_Desc1_Handle, X )
    Status = DftiFreeDescriptor(My_Desc1_Handle)

    Status = DftiCreateDescriptor(My_Desc2_Handle, DFTI_SINGLE,&
       DFTI_REAL, 1, 32)
    Status = DftiCommitDescriptor(My_Desc2_Handle)
    Status = DftiComputeForward(My_Desc2_Handle, Y)
    Status = DftiFreeDescriptor(My_Desc2_Handle)
end

I am getting following error;

 error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MKL_DFTI]
use MKL_DFTI
----^

I have checked my environment variables.
 

echo $MKLROOT
/usr/local/intel-2015.2/composer_xe_2015.2.164/mkl

echo $CPATH
/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/include:/usr/local/intel-2015.2/composer_xe_2015.2.164/mkl/include:
/usr/local/intel-2015.2/composer_xe_2015.2.164/tbb/include:/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/include:
/usr/local/intel-2015.2/composer_xe_2015.2.164/mkl/include:/usr/local/intel-2015.2/composer_xe_2015.2.164/tbb/include:
/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/include:/usr/local/intel-2015.2/composer_xe_2015.2.164/mkl/include:
/usr/local/intel-2015.2/composer_xe_2015.2.164/tbb/include:/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/include:
/usr/local/intel-2015.2/composer_xe_2015.2.164/mkl/include:/usr/local/intel-2015.2/composer_xe_2015.2.164/tbb/include

echo $LD_LIBRARY_PATH
/usr/local/intel-2015.2/composer_xe_2015.2.164/compiler/lib/intel64:
/usr/local/intel-2015.2/composer_xe_2015.2.164/mpirt/lib/intel64:
/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/../compiler/lib/intel64:
/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/lib/intel64:
/usr/local/intel-2015.2/composer_xe_2015.2.164/ipp/tools/intel64/perfsys:
/usr/local/intel-2015.2/composer_xe_2015.2.164/compiler/lib/intel64:
/usr/local/intel-2015.2/composer_xe_2015.2.164/mkl/lib/intel64:
/usr/local/intel-2015.2/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.1:
/usr/local/intel-2015.2/composer_xe_2015.2.164/debugger/ipt/intel64/lib

I used following command to compile: ifort -mkl test.f90

Please help me to figure out the mistake.

Best Regards

Masrul

0 Kudos
1 Reply
Klaus-Dieter_O_Intel
887 Views

Hi Masrul,

Either use the following command line (in that order of source files) for compilation:

ifort -mkl $MKLROOT/include/mkl_dfti.f90 test.f90

or insert the following statement as first line into your test code:

include "mkl_dfti.f90"

Both will create the module files mkl_dfti_type.mod and mkl_dfti.mod in your working directory.

Best regards
Klaus-Dieter

0 Kudos
Reply