CUDA简介:(Computed Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,解决的是用更加廉价的设备资源,实现更高效的并行计算问题。

相关:CUDA、GPU均是英伟达(NVIDIA)推出的概念。图形处理器(Graphics Processing Unit, GPU)与中央处理器(Central Processing Unit, CPU)相对,是显卡的核心芯片。而cuda正是nvidia开发的gpu的编程接口。

1、如何查看显卡是否支持cuda?

lspci | grep -i nvidia
13:00.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)
1b:00.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)

其中lspic是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。可知,显卡型号为:NVIDIA Corporation Device 2204

2、cuda组件?

cuda包含三大组件,nvidia driver(驱动),toolkit,samples。

1、driver可以和toolkit分开安装,并且同一台主机上两者支持的CUDA版本可以不一样,需保证:driver cuda version >= toolkit cuda version。

nvidia-smi显示的是 driver cuda version,GPU硬件信息。driver包含函数库libcuda.so,该函数库提供对 CUDA driver API 的访问。

2、toolkit包含函数库libcudart.so,该函数库提供了对 CUDA runtime API 的访问,以及nvcc编译器等。

nvcc命令是toolkit提供。

安装cuda时候,可选择先安装nvidia driver,再安装nvidia cuda,所以driver cuda version、toolkit cuda version可能会不一致。

3、 driver API与runtime API区别?

Driver API有着更灵活的控制,也存在更高的性能的可能性,当然也伴随着更复杂的编程。CUDA driver相比runtime需要做显式的device初始化,以及context、module的管理,这些概念在runtime中是不存在,也是不希望用户关心的

Runtime是Driver的“更高级”的Layer。

编译方面:runtime API使用nvida自己的编译器进行编译,并且可以将CUDA kernel链接到同一个executable中。。而driver API不使用nvidia编译器,通过NVRTC实现编译。

4、CUDA toolkit组件?

cuda toolkit可以通过conda来安装,但是驱动不可。

  • Compiler: CUDA-C和CUDA-C++编译器NVCC位于bin/目录中。它建立在NVVM优化器之上,而NVVM优化器本身构建在LLVM编译器基础结构之上。因此开发人员可以使用nvm/目录下的Compiler SDK来直接针对NVVM进行开发。
  • Tools: 提供一些像profiler,debuggers等工具,这些工具可以从bin/目录中获取
  • Libraries: 下面列出的部分科学库和实用程序库可以在lib/目录中使用(Windows上的DLL位于bin/中),它们的接口在include/目录中可获取。
    cudart: CUDA Runtime
    cudadevrt: CUDA device runtime
    cupti: CUDA profiling tools interface
    nvml: NVIDIA management library
    nvrtc: CUDA runtime compilation
    cublas: BLAS (Basic Linear Algebra Subprograms,基础线性代数程序集)
    cublas_device: BLAS kernel interface
  • CUDA Samples: 演示如何使用各种CUDA和library API的代码示例。
    可在Linux和Mac上的samples/目录中获得,Windows上的路径是C:\ProgramData\NVIDIA Corporation\CUDA Samples中。在Linux和Mac上,samples/目录是只读的,如果要对它们进行修改,则必须将这些示例复制到另一个位置。
  • CUDA Driver: 运行CUDA应用程序需要系统至少有一个具有CUDA功能的GPU和与CUDA工具包兼容的驱动程序。每个版本的CUDA工具包都对应一个最低版本的CUDA Driver,也就是说如果你安装的CUDA Driver版本比官方推荐的还低,那么很可能会无法正常运行。
  • CUDA Driver是向后兼容的,这意味着根据CUDA的特定版本编译的应用程序将继续在后续发布的Driver上也能继续工作。通常为了方便,在安装CUDA Toolkit的时候会默认安装CUDA Driver。在开发阶段可以选择默认安装Driver,但是对于像Tesla GPU这样的商用情况时,建议在官方安装最新版本的Driver。

5、 linux系统只可以拥有一个driver cuda,但是可以下载多个cuda toolkit

参考文献:

【1】cuda 的driver API 和 runtime API :https://blog.csdn.net/jslove1997/article/details/113737934

【2】浅谈Cuda driver API:https://zhuanlan.zhihu.com/p/111602648

CUDA组件 -- nvidia driver驱动与toolkit相关推荐

  1. 安裝 Installation of Torch7, Cuda, Cudnn, Nvidia Driver with GTX1070

    安裝 Installation of Torch7, Cuda, Cudnn, Nvidia Driver with GTX1070 http://shamangary.logdown.com/pos ...

  2. cuda、Nvidia driver、GCC版本对应关系

    一般cuda版本是依赖驱动版本的,相当于驱动给你提供平台,cuda相当于软件,确定了平台版本,软件版本可随自己设置确定. cuda版本与mxnet版本是一一对应的,不可改变 cuda与driver对应 ...

  3. [Tensorflow] Ubuntu下NVIDIA Driver+CUDA+cuDNN 安装踩坑总结

    最近安装了3台workstation, 显卡分布是Quadro P2000, Quadro K220和Quadro 2000.其中第一台工作站是去年新入的,另外两台都是3-5年历史的旧机器了. 第一台 ...

  4. 【详细】linux系统安装显卡驱动(Nvidia driver) + cuda10.2

    安装概览 安装驱动 安装cuda 1 Nvidia driver安装 1.1 查看电脑GPU型号 lspci | grep -i nvidia 我的电脑显示结果如下: 即型号为Tesla K800 1 ...

  5. 服务器系统装显卡驱动,GPU服务器安装NVIDIA显卡驱动

    for i in xsgpu81 xsgpu82 xsgpu83 xsgpu84 xsgpu85; do qssh root@$i 'cat /etc/issue:uname -r';done Ubu ...

  6. 【Deepin 20系统】Linux系统安装RTX 2070的NVIDIA卡驱动

    目录 1 查看显卡型号 2 下载驱动 3 安装编译环境 4 Bios关闭Security boot 5 禁用NVIDIA开源驱动nouveau 6 安装NVIDIA闭源驱动 6.1 卸载已经安装的驱动 ...

  7. 了解NVIDIA显卡驱动(包括CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)

    背景 开发过程中需要用到GPU时,通常在安装配置GPU的环境过程中遇到问题:CUDA Toolkit和CUDNN版本的对应关系:CUDA和电脑显卡驱动的版本的对应关系:CUDA Toolkit.CUD ...

  8. CUDA 并行计算 机器学习 NVCC CUDNN CUDATOOLKIT CUDA DRIVER 显卡驱动(NVIDIA Driver) 显卡(GPU)

    微信公众号: 点击蓝色字体小白图像与视觉进行关注 关于技术.关注yysilence00.有问题或建议,请公众号留言 整理知识,学习笔记 发布日记,杂文,所见所想 CUDA 并行计算 机器学习 NVCC ...

  9. Nvidia显卡驱动与Cuda关系,Cuda的driver API 和runtime API

    Total 从今年年初反复安装多次Ubuntu+Win双系统,并配置深度学习环境,对Nvidia显卡驱动与Cuda关系认识应该更加清晰. 在配置好的环境中使用nvidia-smi和nvcc -V两个命 ...

  10. Ubuntu系统_安装NVIDIA显卡驱动与CUDA Toolkit

    显卡.显卡驱动.CUDA之间的关系 显卡(GPU):显卡可用于计算,其从host端拿命令和数据.深度学习本身需要大量计算,而GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求.目前用于计算的 ...

最新文章

  1. 项目开发管理工具---GitHub(一)
  2. hadoop2.4.1源码编译步骤 hive0.13.1编译
  3. Android学习总结(3)——Handler深入详解
  4. sql t-sql_增强的PolyBase SQL 2019-使用t-SQL的外部表
  5. HackerOne 公布十大漏洞奖励计划“豪门”
  6. svn服务器搭建之备份3
  7. Linux进阶之Git分布式版本控制系统篇
  8. 《Windows游戏编程大师技巧》五、DirectX基础知识和令人生畏的COM
  9. element ui 1.4 升级到 2.0.11
  10. VGA , CVBS , HDMI 三者的区别
  11. bitcscs计算机系统,深入理解计算机系统CSAPP-美-布莱恩特
  12. mysql rollback.pl_binlog-rollback.pl 在线恢复update 和delete不加条件误操作sql
  13. 如何安装vue并创建vue.js框架项目
  14. 建筑平面布置与防火防烟分区(二)
  15. Docker_数据卷容器
  16. html做键盘,用html+js+css做一个模拟键盘
  17. 关于c / c++中power_bound的使用
  18. (CVPR 2022 阅读笔记)Residual Local Feature Network for Efficient Super-Resolution
  19. opencv-python数字图像处理学习7:提取一副彩色图像中红色,用HIS模型处理,RGB模型对比显示
  20. 减盐不减味,乌江榨菜掀起轻盐升级革命

热门文章

  1. 解决Visual Studio 2022 python 中文乱码问题
  2. 盘点HTML页面跳转的5种方法
  3. JAVA映射文件到内存,java之内存映射文件
  4. STM8L 低功耗模式说明
  5. SpringBoot使用快递鸟进行电子面单的获取以及打印
  6. at24c08 E2PROM的I2C设备驱动实例——基于mini2440
  7. 简洁UI好玩的文字转换emoji表情微信小程序源码下载支持句子词语转换
  8. 常微分方程之Kutta公式、Gill公式、隐式龙格库塔公式、半隐式龙格库塔公式、Milne方法、Hamming方法、不显含一阶导数的二阶微分方程的求解方法、非线性微分方程的差分法
  9. matlab遥感原理与应用,遥感原理与应用知识点概括考研.doc
  10. 关于SMC的源式,汇式(漏式)。PNP和NPN的说明与区别