Hi,
I would really appreciate any help to solve the following problem (or to point me in the direction as to where I can find a solution):
I recently installed Intel Fortran Composer XE for OS X (Snow Leopard on a new MacBook Pro) and I am trying to link a program to the fast Fourier Transform functions, but am having problems:
> ifort CGoct3D.f90 -L$MKLPATH -I$MKLINCLUDE -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread
CGoct3D.f90(171): error #6284: There is no matching specific function
for this generic function reference. [DFTICREATEDESCRIPTOR]
StatusBig(1) = DftiCreateDescriptor(FFT_BIG, DFTI_DOUBLE, DFTI_COMPLEX, 2, DimBig)
---------------^
CGoct3D.f90(176): error #6284: There is no matching specific function
for this generic function reference. [DFTICOMPUTEFORWARD]
StatusBig(i) = DftiComputeForward(FFT_BIG,newA(:,:,i),DFTBig(:,:,i))
-------------------^
CGoct3D.f90(227): error #6284: There is no matching specific function
for this generic function reference. [DFTICOMPUTEBACKWARD]
StatusBig(i) = DftiComputeBackward(FFT_Big,rmatBig(:,:,i))
---------------^
CGoct3D.f90(240): error #6284: There is no matching specific function
for this generic function reference. [DFTICOMPUTEFORWARD]
StatusBig(i) = DftiComputeForward(FFT_BIG,bmat(:,:,i),DFTBig(:,:,i))
-------------------^
compilation aborted for CGoct3D.f90 (code 1)
>
I had compiled mkl_dfti.f90 as root:
> cd /opt/intel/composerxe-2011.3.167/mkl/include
include > ifort -I$MKLINCLUDE -c mkl_dfti.f90
include >
> ls -l mkl_dft*
-rwxrwxrwx 1 kornak staff 9577 Apr 30 16:19 mkl_dft_type.mod
-r--r--r-- 1 27945 wheel 28055 Mar 18 03:42 mkl_dfti.f90
-r--r--r-- 1 27945 wheel 10561 Mar 18 03:42 mkl_dfti.h
-rwxrwxrwx 1 kornak staff 52484 Apr 30 16:19 mkl_dfti.mod
-rw-r--r-- 1 root wheel 783 Apr 30 16:19 mkl_dfti.o
In addition, I have the following environment variables set:
> echo $MKLROOT
/opt/intel/composerxe-2011.3.167/mkl
> echo $MKLPATH
/opt/intel/composerxe-2011.3.167/mkl/lib
> echo $MKLINCLUDE
/opt/intel/composerxe-2011.3.167/mkl/include
>
Finally, here are the relevant parts of the frotran 90 code:
PROGRAM bayes3D
! .. Use Statements ..
Use MKL_DFTI
! none in USE
! .. Implicit None Statement ..
IMPLICIT NONE
! .. Default Accessibility ..
! --- snip !
ALLOCATE (DimBig(2))
DimBig(1) = nl1
DimBig(2) = nl2
StatusBig(1) = DftiCreateDescriptor(FFT_BIG, DFTI_DOUBLE, DFTI_COMPLEX, 2, DimBig)
StatusBig(1) = DftiCommitDescriptor(FFT_BIG)
ALLOCATE (DFTBig(nl1,nl2,zl))
DO i=1,zl
StatusBig(i) = DftiComputeForward(FFT_BIG,newA(:,:,i),DFTBig(:,:,i))
END DOThanks for any insight.
Cheers
John



