Hi,
I follow the link line advisor and use this link line:
[bash]MKLPATH="/opt/intel/Compiler/11.1/056/mkl/lib/em64t"
mpif90 test4.f90 -L$MKLPATH $MKLPATH/libmkl_solver_lp64.a -Wl,--start-group $MKLPATH/libmkl_intel_lp64.a $MKLPATH/libmkl_cdft_core.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a $MKLPATH/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -openmp -lpthread[/bash]
My problems is that: it seems the compiler cannot recognize cluster fft functions.
Here are some of the error message:
[fortran]test4.f90(78): error #6284: There is no matching specific function for this generic function reference. [DFTICREATEDESCRIPTORDM]I've added these lines in my program:
STATUS = DftiCreateDescriptorDM(MPI_COMM_WORLD,DESC,DFTI_DOUBLE,DFTI_COMPLEX,2,length)[/fortran]
Include "mkl_cdft.f90"
USE MKL_CDFT
But it doesn't help. (Ubuntu9.04 64bit+MPICH2+ifort 11.1)
Any ideas?
链接已复制
2 回复数
Hi raemon,
Compiling include/mkl_cdft.f90 and putting mkl_cdft.o onto the link line may help.
mpif90 $MKLPATH/include/mkl_cdft.f90 -c -o mkl_cdft.o
mpif90test4.f90mkl_cdft.o -L$MKLPATH$MKLPATH/libmkl_solver_lp64.a
-Wl,--start-group$MKLPATH/libmkl_intel_lp64.a$MKLPATH/libmkl_cdft_core.a
$MKLPATH/libmkl_intel_thread.a$MKLPATH/libmkl_core.a$MKLPATH/libmkl_blacs_intelmpi_lp64.a
-Wl,--end-group-openmp-lpthread-lm
See examples/cdftf/makefile for an idea.
Evgueni.