在实现BDF并行编译的时候,可以使用openmpi,也可以使用intel mpi。我在使用Intel mpi编译的时候,遇到了以下的问题
/home/js/tool/intel-2015-up5//impi/5.0.3.049/intel64/bin/mpicc -DMKL_ILP64 -O2 -W -D_MPI_ -D_OPENMP_ -fopenmp -I../include -D_MKL_ -DFORTINT='long long' -I/home/js/tool/intel-2015-up5/mkl/include -I/home/js/tool/intel-2015-up5/impi/5.0.3.049/include64 -I../../include -I../include -fPIC -D_XIANEST_ -D_I8_ -DLINUX -m64 -I../math_cutil/ -MM c_traint.cpp >c_traint.d
/home/js/tool/intel-2015-up5//impi/5.0.3.049/intel64/bin/mpicc -DMKL_ILP64 -O2 -W -D_MPI_ -D_OPENMP_ -fopenmp -I../include -D_MKL_ -DFORTINT='long long' -I/home/js/tool/intel-2015-up5/mkl/include -I/home/js/tool/intel-2015-up5/impi/5.0.3.049/include64 -I../../include -I../include -fPIC -D_XIANEST_ -D_I8_ -DLINUX -m64 -I../math_cutil/ -MM c_motraint.cpp >c_motraint.d
DMKL_ILP64 -O2 -W -D_MPI_ -D_OPENMP_ -fopenmp -I../include -D_MKL_ -DFORTINT='long long' -I/home/js/tool/intel-2015-up5/mkl/include -I/home/js/tool/intel-2015-up5/impi/5.0.3.049/include64 -I../../include -I../include -fPIC -D_XIANEST_ -D_I8_ -DLINUX -m64 -I../math_cutil/ -I../include -D_MKL_ -DFORTINT='long long' -I/home/js/tool/intel-2015-up5/mkl/include -I/home/js/tool/intel-2015-up5/impi/5.0.3.049/include64 -I../../include -I../include -fPIC -D_XIANEST_ -D_I8_ -DLINUX -m64 -c c_motraint.cpp
/bin/bash: DMKL_ILP64: 未找到命令
make: [/home/js/Desktop/bdf-pkg/config/Make.suffix:36:c_motraint.o] 错误 127 (已忽略)
DMKL_ILP64 -O2 -W -D_MPI_ -D_OPENMP_ -fopenmp -I../include -D_MKL_ -DFORTINT='long long' -I/home/js/tool/intel-2015-up5/mkl/include -I/home/js/tool/intel-2015-up5/impi/5.0.3.049/include64 -I../../include -I../include -fPIC -D_XIANEST_ -D_I8_ -DLINUX -m64 -I../math_cutil/ -I../include -D_MKL_ -DFORTINT='long long' -I/home/js/tool/intel-2015-up5/mkl/include -I/home/js/tool/intel-2015-up5/impi/5.0.3.049/include64 -I../../include -I../include -fPIC -D_XIANEST_ -D_I8_ -DLINUX -m64 -c c_traint.cpp
/bin/bash: DMKL_ILP64: 未找到命令
make: [/home/js/Desktop/bdf-pkg/config/Make.suffix:36:c_traint.o] 错误 127 (已忽略)
/usr/bin/ar scr /home/js/Desktop/bdf-pkg/lib/libnoxci_util.a c_motraint.o c_traint.o
/usr/bin/ar: c_motraint.o: 没有那个文件或目录
make: *** [Makefile:121:/home/js/Desktop/bdf-pkg/lib/libnoxci_util.a] 错误 1
显示未找到命令那里,应该是
/home/js/tool/intel-2015-up5//impi/5.0.3.049/intel64/bin/mpicxx -DMKL_ILP64 -O2 -W
结果/home/js/tool/intel-2015-up5//impi/5.0.3.049/intel64/bin/mpicxx -
这一块儿都被吞掉了,只剩下后面的命令了。查看了以下生成Makefile
的./configure
命令,发现在应该检测mpicxx
命令的时候,检测的是mpic++
,我电脑里面只有mpicxx
,可能mpic++
是实现openmpi
的时候有的,intel大套装没有,于是搜索了configre
文件里面,果然是mpic++
,我还不太懂这个文件,就尝试把命令行
set dumy mpic++
改成了
set dumy mpicxx
发现这个问题解决了,不知道还有什么问题,毕设紧急收尾中,紧张…
估计这个configure
是针对openmpi写的,以后研究以下怎么样可以在openmpi和intel mpi之间自由切换。