编译 Cuda Accelerated Linpack hpl_2.0_FERMI 时出错

编译 Cuda Accelerated Linpack hpl_2.0_FERMI 时出错

我用

  • 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是所需的输出文件名(但实际上并非如此)。

相关内容