CUDA入门学习笔记:一 简介

CUDA入门学习笔记:一 简介


一、CPU与GPU

  1. CPU(central processing unit 中央处理器),拥有几个快速计算核心,主要用于数据缓存和流程控制。
  2. GPU(graphics processing unit 图形处理器),拥有成千个不太快的计算核心,主要用于算术逻辑运算。
  3. GPU计算其实一般都是指CPU+GPU的异构计算,GPU只负责加速运算,无法实现CPU的流程调度问题。其中CPU通常称为主机(host)而GPU通常称为设备(device)。

二、英伟达GPU分类

CUDA是英伟达公司为其GPU开发的一套二次开发工具,所以CUDA只能支持英伟达的GPU。英伟达的GPU可以简单分为四类:

  1. Tesla:内存为纠错内存,稳定性好,一般用于服务器中。
  2. Quadro:支持告诉OpenGL渲染,多用于专业绘图设计。
  3. GeForce:一般都是玩游戏普通PC用的,但是也支持CUDA,日常学习使用没有问题,但是没有纠错内存,稳定性低一些。
  4. Jetson:多用于嵌入式设备。

每个GPU都有自己的一个计算能力,计算能力不完全代表计算性能,也要看浮点数运算峰值(FLOPS, 每秒最多能执行的浮点数运算次数)。并且GPU也有自己对应的显存,如果程序需要的显存大于GPU的显存可能会导致崩溃等问题。英伟达官网中可以查询每个显卡的计算能力(https://developer.nvidia.com/cuda-gpus)。


三、CUDA

  1. CUDA包含两层API,分别是CUDA驱动(device)API和CUDA运行时(runtime)API。字面上可以看出驱动API更加底层,使用起来相对更加灵活,但同时入手困难,所以大部分的工程使用还是以运行时API为主。

  2. 安装有英伟达驱动和CUDA库的计算机可以通过在终端中输入nvidia-smi来查看GPU信息,如下图:
    在这里插入图片描述
    ① 第一行显示英伟达驱动版本和CUDA版本;
    ② 只有一块GPU,显示设备号为0,GPU名称,如果计算机中有多个GPU,GPU会从0开始依次编号,可以通过CUDA_VISIBLE_DEVICES来设置所需要指定使用的GPU 例如:export CUDA_VISIBLE_DEVICES=1 指定使用1号设备;
    ③ WDDM模式,Tesla、Quadro和Titan可以选择TCC模式,TCC就是GPU只用于计算,WDDM模式下GPU需要完成显示和计算两个功能;
    ④ Uncorr. ECC为N/A意为没有纠错内存(ECC);
    ⑤ Compute M. 指计算模式,一般为默认模式(Default),还有一种模式为独占模式(E. Process),这种模式不能在WDDM模式下使用,顾名思义独占模式,只能干一件事,无法显示的同时再做其他运算了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值