nvidia-smi 和 nvcc 结果的版本为何不一致

背景

为何nvidia-smi 中的CUDA 版本与 nvcc不一致:
nvidia-smi 和 nvcc 结果的版本为何不一致_第1张图片
从上述结果可以看出,nvidia-smi的结果显示CUDA版本是10.0,而从nvcc命令来看,却是CUDA 9.0

分析

其实是因为CUDA 有两种API,分别是 运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。
nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API的型号,这里是 10.0。
nvcc的结果是对应 CUDA Runtime API:
在这里插入图片描述

补充说明

在安装CUDA 时候会安装3大组件,分别是 NVIDIA 驱动、toolkit 和 samples。NVIDIA 驱动是用来控制 GPU 硬件,toolkit 里面包括nvcc编译器等,samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的,而CUDA Runtime API 是通过CUDA toolkit 安装的。

你可能感兴趣的:(GPU,GPU)