小飞侠 - GPU
type: channel
link: http://www.kexue.love/index.php/category/GPU/
items: A100，A800，H100，H800GPU的区别
items: cuda版本在nvcc -V和nvidia-smi中显示不同

A100，A800，H100，H800GPU的区别
type: item
date: 2023-09-13T10:57:00+00:00
description: 一、查看GPU型号查看GPU型号：lspci | grep -i nvidia10:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) 16:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) 49:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) 4d:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) 54:00.0 Bridge: NVIDIA Corporation Device 1af1 (rev a1) 55:00.0 Bridge: NVIDIA Corporation Device 1af1 (rev a1) 56:00.0 Bridge: NVIDIA Corporation Device 1af1 (rev a1) 57:00.0 Bridge: NVIDIA Corporation Device 1af1 (rev a1) 58:00.0 Bridge: NVIDIA Corporation Device 1af1 (rev a1) 59:00.0 Bridge: NVIDIA Corporation Device 1af1 (rev a1) 89:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) 8e:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) c5:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) c9:00.0 3D controller: NVIDIA Corporation Device 20f3 (rev a1) 通过网址：https://admin.pci-ids.ucw.cz/read/PC/10de/20f3 查看具体型号2.A100，A800，H100，H800GPU的区别参考1.https://www.zhihu.com/question/618932114/answer/3192465335

cuda版本在nvcc -V和nvidia-smi中显示不同
type: item
date: 2022-07-20T07:55:36+00:00
description: cuda两个apiCUDA 有两种API，分别是 运行时 API 和 驱动API，即所谓的 Runtime API 与 Driver API。CUDA有两个主要的API，runtime API(nvcc -V 显示的cuda)和driver API(nivdia-smi中显示的cuda)，两者都有相应的版本(例如8.0、9.0等)。对driver API的必要支持(e.g. libcuda.so on linux)，是由GPU驱动安装程序安装的。对runtime API(e.g. libcudart.so on linux, and also nvcc)的必要支持，是由CUDA工具包安装程序安装的(如cuda toolkit可能也捆绑安装GPU驱动程序，如下图)。nvidia-smi 的结果除了有 GPU 驱动版本型号，还有 CUDA Driver API的型号，而nvcc的结果是对应 CUDA Runtime API一般情况下，driver API版本与runtime API版本不相同。特别是GPU驱动程序是独立于CUDA工具包(i.e. the CUDA toolkit)下安装的。这样nvidia-smi中的cuda是由NVIDIA GPU 驱动包安装的，而不是由CUDA toolkit安装的。driver API版本的cuda，就与runtime API版本的cuda没有联系了。因为由CUDA toolkit安装的cuda编译-驱动工具nvcc，总是会报告cuda运行时版本。nvcc不知道系统安装了什么驱动版本，甚至不知道系统是否安装了GPU驱动。所以，这两个版本不必完全相同，因为它们反映了两种不同的cuda API。而且在大多数情况下，nvidia-smi报告的cuda版本在数值上等于或高于nvcc -V报告的cuda版本。2、在安装CUDA 时候会安装3大组件，分别是 NVIDIA 驱动、toolkit 和 samples。NVIDIA 驱动是用来控制 GPU 硬件，toolkit 里面包括nvcc编译器等，samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的，而CUDA Runtime API 是通过CUDA toolkit 安装的。