使用NVIDIA HPC SDK构建cuda-samples

发布时间 2023-11-24 00:56:07作者: CodeArhat

NVIDIA HPC SDK虽然附带了CUDA、cuBLAS等库,但安装路径与CUDA Toolkit有差异。cuda-samples有些示例用到了cuBLAS等数学库,按照文档直接make会找不到库文件。

翻找示例的Makefile想找全局的设置,发现有行ALL_CCFLAGS += $(EXTRA_NVCCFLAGS),其中EXTRA_NVCCFLAGSMakefile中未出现过,推测是全局的额外参数。再往下看还有行ALL_LDFLAGS += $(ALL_CCFLAGS),如果设定了$(EXTRA_NVCCFLAGS)那么对编译、链接都有效。

于是把NVHPC-SDK附带的包含目录和库目录写成GCC参数的样子,导出环境变量,再构建cuda-samples就成功了。项目约600MB,构建后2.5GB。

SDK="/opt/nvidia/hpc_sdk/Linux_x86_64/2023"
unset EXTRA_NVCCFLAGS
EXTRA_NVCCFLAGS="$EXTRA_NVCCFLAGS -I$SDK/math_libs/include"
EXTRA_NVCCFLAGS="$EXTRA_NVCCFLAGS -L$SDK/math_libs/lib64"
export EXTRA_NVCCFLAGS

NVHPC-SDK安装如有差异,相应修改环境变量即可。