我用
- Ubuntu 11.04 x86_64
- CUDA 4.0
- OpenMpi 1.4稳定版
- 麦考林
当我编译时,出现此错误:
ar r -L/home/limksadmin/hpl-2.0_FERMI_v13/lib/CUDA/libhpl.a HPL_dlacpy.o HPL_dlatcpy.o HPL_fprintf.o HPL_warn.o HPL_abort.o HPL_dlaprnt.o HPL_dlange.o HPL_dlamch.o
ar: -L/home/limksadmin/hpl-2.0_FERMI_v13/lib/CUDA/libhpl.a: No such file or directory
make[2]: *** [lib.grd] Error 9
make[2]: Leaving directory `/home/limksadmin/hpl-2.0_FERMI_v13/src/auxil/CUDA'
make[1]: *** [build_src] Error 2
make[1]: Leaving directory `/home/limksadmin/hpl-2.0_FERMI_v13'
make: *** [build] Error 2
制作.CUDA:
LAdir = /opt/intel/mkl/lib/intel64
LAlib = -L $(TOPdir)/src/cuda -ldgemm -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -L$(LAdir) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5
MPdir = /usr/local/mpi/openmpi
MPinc = -I$(MPdir)/include
MPlib = -L$(MPdir)/lib/libmpi.so
CC = /usr/local/mpi/openmpi/bin/mpicc
可能是什么问题呢?
答案1
ar: -L/home/limksadmin/hpl-2.0_FERMI_v13/lib/CUDA/libhpl.a: No such file or directory
此行表明它找不到适用于 CUDA 的正确 HPL 静态库文件。您可以尝试做的一件事(如果您知道您 100% 确定 Makefile 中的所有内容都设置正确)是将该精确路径(不带文件名)添加到您的LD_LIBRARY_PATH
环境变量中:
export LD_LIBRARY_PATH=/home/limksadmin/hpl-2.0_FERMI_v13/lib/CUDA/:$LD_LIBRARY_PATH
答案2
尝试-openmp
用-fopenmp
变量替换CCFLAGS
。
它是这样指定用于英特尔编译器的,但是这种概念会混淆 gcc(这是默认 ubuntu OpenMPI 安装的基础),使其认为这penmp
是所需的输出文件名(但实际上并非如此)。