Hi Lammps people!
I try appml / clMath (clFft) compiled Lammps, but after I added the
appropriate environment make linux given, it should be about changing the
FFTW result. I would like to ask you, whether by replacing the FFTW
library that implements the AMD GPU computing.
lammps version lammps-30Oct13
libclFFT.so.2.1.0==>libfftw.so
clAmdFft.h==>fftw.h
Makefile
CC = mpicc
CCFLAGS = -O
SHFLAGS = -fPIC
DEPFLAGS = -M
LINK = mpicc
LINKFLAGS = -O
LIB = -lstdc++
SIZE = size
ARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared
LMP_INC = -DLAMMPS_GZIP -DLAMMPS_JPEG
MPI_INC = -DMPICH_SKIP_MPICXX
MPI_PATH =
MPI_LIB = -lmpich -lmpl -lpthread
FFT_INC = -DFFT_FFTW
-I/home/zpg/Downloads/clFFT-develop/src/include/ -I/opt/AMDAPP/include/
FFT_PATH =
FFT_LIB = /home/zpg/Downloads/clFFT-develop/src/library/libfftw.so
Error message:
mpicc -O -DLAMMPS_GZIP -DLAMMPS_JPEG -DMPICH_SKIP_MPICXX -DFFT_FFTW
-I/home/zpg/Downloads/clFFT-develop/src/include/ -I/opt/AMDAPP/include/
-c ../ewald_disp.cpp
mpicc -O -DLAMMPS_GZIP -DLAMMPS_JPEG -DMPICH_SKIP_MPICXX -DFFT_FFTW
-I/home/zpg/Downloads/clFFT-develop/src/include/ -I/opt/AMDAPP/include/
-c ../fft3d.cpp
In file included from ../fft3d.cpp:25:
../fft3d.h:214: 错误:‘FFTW_COMPLEX’没有命名一个类型
../fft3d.h:250: 错误:ISO C++ 不允许声明无类型的‘FFT_DATA’
../fft3d.h:250: 错误:expected ‘;’ before ‘*’ token
../fft3d.h:251: 错误:ISO C++ 不允许声明无类型的‘FFT_DATA’
../fft3d.h:251: 错误:expected ‘;’ before ‘*’ token
../fft3d.h:292: 错误:‘fftw_plan’没有命名一个类型
../fft3d.h:293: 错误:‘fftw_plan’没有命名一个类型
../fft3d.h:294: 错误:‘fftw_plan’没有命名一个类型
../fft3d.h:295: 错误:‘fftw_plan’没有命名一个类型
../fft3d.h:296: 错误:‘fftw_plan’没有命名一个类型
../fft3d.h:297: 错误:‘fftw_plan’没有命名一个类型
../fft3d.h:318: 错误:变量或字段‘fft_3d’声明为 void
../fft3d.h:318: 错误:‘FFT_DATA’在此作用域中尚未声明
../fft3d.h:318: 错误:expected primary-expression before ‘,’ token
../fft3d.h:318: 错误:‘FFT_DATA’在此作用域中尚未声明
../fft3d.h:318: 错误:expected primary-expression before ‘,’ token
../fft3d.h:318: 错误:expected primary-expression before ‘int’
../fft3d.h:318: 错误:expected primary-expression before ‘struct’
../fft3d.h:326: 错误:变量或字段‘fft_1d_only’声明为 void
../fft3d.h:326: 错误:‘FFT_DATA’在此作用域中尚未声明
../fft3d.h:326: 错误:expected primary-expression before ‘,’ token
../fft3d.h:326: 错误:expected primary-expression before ‘int’
../fft3d.h:326: 错误:expected primary-expression before ‘int’
../fft3d.h:326: 错误:expected primary-expression before ‘struct’
../fft3d.cpp:66: 错误:变量或字段‘fft_3d’声明为 void
../fft3d.cpp:66: 错误:‘FFT_DATA’在此作用域中尚未声明
../fft3d.cpp:66: 错误:‘in’在此作用域中尚未声明
../fft3d.cpp:66: 错误:‘FFT_DATA’在此作用域中尚未声明
../fft3d.cpp:66: 错误:‘out’在此作用域中尚未声明
../fft3d.cpp:66: 错误:expected primary-expression before ‘int’
../fft3d.cpp:66: 错误:expected primary-expression before ‘struct’ make[1]:
*** [fft3d.o] 错误 1
make[1]: Leaving directory
`/home/zpg/Downloads/lammps-30Oct13/src/Obj_linux' make: *** [linux] 错误 2