矩池云上安装NVCC教程
简介
NVCC就是CUDA的编译器,可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器。由于程序是要经过编译器编程成可执行的二进制文件,而cuda程序有两种代码,一种是运行在cpu上的host代码,一种是运行在gpu上的device代码,所以nvcc编译器要保证两部分代码能够编译成二进制文件在不同的机器上执行。
nvcc涉及到的文件后缀及相关意义如下表:
文件后缀 | 意义 |
---|---|
.cu | cuda源文件,包括host和device代码 |
.cup | 经过预处理的cuda源文件,编译选项--preprocess/-E |
.c | c源文件 |
.cc/.cxx/.cpp | c++源文件 |
.gpu | gpu中间文件,编译选项--gpu |
.ptx | 类似汇编代码,编译选项--ptx |
.o/.obj | 目标文件,编译选项--compile/-c |
.a/.lib | 库文件,编译选项--lib/-lib |
.res | 资源文件 |
.so | 共享目标文件,编译选项--shared/-shared |
.cubin | cuda的二进制文件,编译选项-cubin |
安装
NVIDIA官方GitLab地址:https://gitlab.com/nvidia/container-images/cuda/
安装脚本在dist目录下
选择cuda的版本号
矩池云上cuda8/cuda9使用的是ubuntu16.04,cuda10及以上都是ubuntu18.04
- base:cuda安装方式
- devel:nvcc等安装方式
- runtime:cudnn等安装方式
检查系统版本
source /etc/os-release && echo $VERSION_ID
导入apt国内镜像仓库和其GPG key
# 检查系统若输出 16.04,请用下面的命令
# 阿里源
curl -fsSL https://mirrors.aliyun.com/nvidia-cuda/ubuntu1604/x86_64/3bf863cc.pub | apt-key add - && \
echo "deb https://mirrors.aliyun.com/nvidia-cuda/ubuntu1604/x86_64/ /" > /etc/apt/sources.list.d/cuda.list
# 腾讯源
curl -fsSL https://mirrors.cloud.tencent.com/nvidia-cuda/ubuntu1604/x86_64/7fa2af80.pub | apt-key add - && \
echo "deb https://mirrors.cloud.tencent.com/nvidia-cuda/ubuntu1604/x86_64/ /" > /etc/apt/sources.list.d/cuda.list
# 官方源
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub | apt-key add - && \
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.list
# 检查系统若输出 18.04,请用下面的命令
# 阿里源
curl -fsSL https://mirrors.aliyun.com/nvidia-cuda/ubuntu1804/x86_64/3bf863cc.pub | apt-key add - && \
echo "deb https://mirrors.aliyun.com/nvidia-cuda/ubuntu1804/x86_64/ /" > /etc/apt/sources.list.d/cuda.list
# 腾讯源
curl -fsSL https://mirrors.cloud.tencent.com/nvidia-cuda/ubuntu1804/x86_64/7fa2af80.pub | apt-key add - && \
echo "deb https://mirrors.cloud.tencent.com/nvidia-cuda/ubuntu1804/x86_64/ /" > /etc/apt/sources.list.d/cuda.list
# 官方源
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | apt-key add - && \
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list
cuda、nvcc在阿里源的nvidia-cuda中有,软件的对应的版本可以在阿里源中搜索查到。
安装所需版本的 nvcc
以cuda10版本的nvcc为例,根据Dockerfile得出安装命令如下
# "10-0" 表示安装CUDA10.0版本的 nvcc, 应根据镜像中cuda版本安装
curl -fsSL https://mirrors.cloud.tencent.com/nvidia-cuda/ubuntu1804/x86_64/7fa2af80.pub | apt-key add - && \
echo "deb https://mirrors.cloud.tencent.com/nvidia-cuda/ubuntu1804/x86_64/ /" > /etc/apt/sources.list.d/cuda.list && \
apt-get update && apt-get install -y --no-install-recommends \
cuda-command-line-tools-10-0 \
&& rm -rf /var/lib/apt/lists/*
验证nvcc安装
nvcc --version