文章目录

  • CPU和GPU
  • 什么是CUDA
  • 什么是cuDNN
  • WIN10安装CUDA10
  • WIN10安装cuDNN

CPU和GPU

CPU和GPU是不一样的计算机设备,CPU作为计算机心脏一直被人们所认知,但是GPU直到最近才被人们重视起来,因为其优异的图片运算性能,或者说矩阵运算性能。

CPU和GPU的关系和差别:


从上图可以看出GPU(图像处理器,Graphics Processing Unit)和CPU(中央处理器,Central Processing Unit)在设计上的主要差异在于GPU有更多的运算单元(如图中绿色的ALU),而Control和Cache单元不如CPU多,这是因为GPU在进行并行计算的时候每个运算单元都是执行相同的程序,而不需要太多的控制。Cache单元是用来做数据缓存的,CPU可以通过Cache来减少存取主内存的次数,也就是减少内存延迟(memory latency)。GPU中Cache很小或者没有,因为GPU可以通过并行计算的方式来减少内存延迟。因此CPU的Cahce设计主要是实现低延迟,Control主要是通用性,复杂的逻辑控制单元可以保证CPU高效分发任务和指令。所以CPU擅长逻辑控制,是串行计算,而GPU擅长高强度计算,是并行计算。打个比方,GPU就像成千上万的苦力,每个人干的都是类似的苦力活,相互之间没有依赖,都是独立的,简单的人多力量大;CPU就像包工头,虽然也能干苦力的活,但是人少,所以一般负责任务分配,人员调度等工作。

可以看出GPU加速是通过大量线程并行实现的,因此对于不能高度并行化的工作而言,GPU就没什么效果了。而CPU则是串行操作,需要很强的通用性,主要起到统管和分配任务的作用。

https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#thread-hierarchy

什么是CUDA

CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称。透过这个技术,用户可利用NVIDIA的GeForce 8以后的GPU和较新的Quadro GPU进行计算。亦是首次可以利用GPU作为C-编译器的开发环境。NVIDIA营销的时候,往往将编译器与架构混合推广,造成混乱。实际上,CUDA可以兼容OpenCL或者自家的C-编译器。无论是CUDA C-语言或是OpenCL,指令最终都会被驱动程序转换成PTX代码,交由显示核心计算。

换句话说CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

在 CUDA 架构下,显示芯片执行时的最小单位是thread。数个 thread 可以组成一个block。一个 block 中的 thread 能存取同一块共享的内存,而且可以快速进行同步的动作。每一个 block 所能包含的 thread 数目是有限的。不过,执行相同程序的 block,可以组成grid。不同 block 中的 thread 无法存取同一个共享的内存,因此无法直接互通或进行同步。因此,不同 block 中的 thread 能合作的程度是比较低的。不过,利用这个模式,可以让程序不用担心显示芯片实际上能同时执行的 thread 数目限制。例如,一个具有很少量执行单元的显示芯片,可能会把各个 block 中的 thread 顺序执行,而非同时执行。不同的 grid 则可以执行不同的程序(即 kernel)。

什么是cuDNN

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行caffe软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。

官方安装教程
CUDA:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
cuDNN:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows

WIN10安装CUDA10

下载链接 https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal

注意,一定要选择10.0 不是10.1

下载之后安装流程默认安装即可

WIN10安装cuDNN

下载地址:
https://developer.nvidia.com/cudnn
登陆之后到这个页面

下载之后不用安装,解压即可。
下载解压缩后,将文件夹下cndnn64_7.dll cudnn.h cudnn.lib分别复制到

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64

WIN10安装CUDA10 cuDNN相关推荐

  1. win10安装cuda10.2+tensorflow-GPU 1.14.0

    一.问题提出 之前写好的代码都是基于tensorflow 1.14.0的,在自己笔记本上跑太慢了,所以搬到服务器去跑.但是一个很现实的问题就是服务器的CUDA是10.2的,因为服务器有很多人在用,其他 ...

  2. Win10安装cuda10.1总是出错!别着急重装,看这篇文章

    我安装的cuda10.1,tensorflow2.0,python3.6然后各种报错,搜了好多方法,但下边这个方法解决了我的问题,还好操作 https://blog.csdn.net/qq_29391 ...

  3. cuda nvcc版本不一致_入坑第一步:Win10安装cuda+cuDNN+TensorFlow-GPU走过的那些路

    这两天安装tensorflow-gpu被折腾够呛,幸亏最后成功了,给想要安装的大神们看下我走过的坑,避免掉入. 如果是新手,需要安装下面几个软件: 第一步 安装anaconda 首先就是Python编 ...

  4. win10安装cuda10.1+cudnn760

    已经安好了anaconda+tensorflow,要为tensorflow打造gpu环境 一.安装CUDA 1.查看自己电脑支持的cuda版本:打开NVIDIA控制面板,点击帮助里边的系统信息,点击组 ...

  5. Win10系统安装CUDA10.0和cuDNN

    本机配置 系统:Win10 64位 显卡:GTX 1060 6GB CUDA安装前准备 在安装之前一定要先安装VS2017,否则在安装CUDA过程中会报错导致安装无法正常进行下去 VS2017_Com ...

  6. 2022最详细,最新的 Win11/WIN10 安装CUDA11.2和cuDNN(必坑之作)完美教程

    注意条事项,避免踩坑: 第一.windows系统安装CUDA ,CUDA本版必须是你的显卡支持的版本.比如我的RTX3060,cuda>=11.0. 第二.专业的游戏笔记本 一般自动安装好了最新 ...

  7. cuda win10安装

    目录 安装教程推荐 cudnn下载地址 cuda安装 关于驱动版本问题: cudnn安装 安装教程推荐 Win10安装CUDA 10.2_xggbest的博客-CSDN博客 没有cudnn教程,补上c ...

  8. win10 安装 GPU版TensorFlow

    WIN10安装CUDA9+CUDNN+TENSORFLOW1.9.0 安装环境:笔记本电脑win10专业版操作系统 + 1050显卡 1.安装CUDA9 地址:https://developer.nv ...

  9. Win10 -- CUDA10 CUDNN 安装

    注意: cuda版本和显卡驱动对于表 CUDA Toolkit Linux x86_64 Driver Version Windows x86_64 Driver Version 本次安装使用的CUD ...

  10. Win10安装cuda和cudnn(可安装多版本并自由切换)

    Win10安装cuda和cudnn(可安装多版本并自由切换) 1. 查看显卡驱动版本,选择合适的cuda版本 2. 下载cuda 3. 下载cudnn 4. 安装cuda 5. 安装cudnn 6. ...

最新文章

  1. android 的命令行工具(dos命令)
  2. 计算机培训研修日志,2021年计算机培训研修日志
  3. COOKIE伪造登录网站后台
  4. linux实现自动互信,Linux 使用shell脚本实现自动SSH互信功能
  5. ionic 支持float吗_机器人协会 | 一起拼机器人吗?
  6. 云计算实战系列四(Linux文件权限I)
  7. Android 中文 API (28) —— CheckedTextView
  8. USACO 2.33 Zero Sum
  9. babel-loader jsx SyntaxError:意外令牌[重复]
  10. java课堂作业(四)
  11. java经纬度排序,elasticsearch搜索经纬度(lbs)_geo_distance距离排序实现方案
  12. 说说react-custom-scrollbars插件在react hooks版本中的使用
  13. PyQt5中的下拉框控件(QComboBox)文本居中
  14. linux卸载小企鹅输入法,Linux(FC)小企鹅输入法的安装
  15. 【PAT乙级】PAT (Basic Level) Practice (中文)训练记录
  16. 人工智能领域中的一个重要方向:自然语言处理
  17. linux调度器并发,12 Go 并发调度器模型
  18. c语言blackjack设计思路,blackjack基本策略.doc
  19. OpenCV计算机视觉编程Python版
  20. 函数库,GDB调试,结构体

热门文章

  1. 使用Bugzilla,你肯定会遇到的坑。
  2. python爬虫-《笔趣看》网小说《悟空看私聊》
  3. 计算机编程入门先学什么最好?
  4. 误删除文件恢复工具免费下载
  5. 软件开发培训要学多久?怎么学?软件开发培训班多少钱?
  6. BZOJ 3717: [PA2014]Pakowanie 状压dp
  7. 如何找到电脑自带的浏览器
  8. 54张扑克牌,除去两张大小王剩下52张扑克牌。问红桃A和黑桃A同时被一个人拿到的概率是多少?
  9. gitbub.com设置协作者提交代码步骤
  10. MyEclipse共享项目到SVN服务器