capter1:GPU 硬件与 CUDA 程序开发工具

GPU 硬件与 CUDA 程序开发工具


参考书籍:CUDA 编程 樊哲勇
代码地址:https://github.com/QINZHAOYU/CudaSteps

GPU 硬件

在由 CPU 和 GPU 构成的异构计算平台中,通常将起控制作用的 CPU 称为 主机(host)
将起加速作用的 GPU 称为 设备(device)

主机和设备都有自己的 DRAM,之间一般由 PCIe 总线连接。

RAM(随机存取内存),主要分为两种类型:

  • SRAM(静态随机存取内存)
  • DRAM(动态随机存取内存)。

GPU 计算能力不等价于计算性能

表征计算性能的一个重要参数是 浮点数运算峰值(FLOPS)
浮点数运算峰值有单精度和双精度之分。

  • 对于 Tesla 系列的 GPU,双精度下 FLOPS 一般是单精度下的 1/2;
  • 对于 GeForce 系列的 GPU,双精度下 FLOPS 一般是单精度下的 1/32。

影响计算性能的另一个参数是 GPU 内存带宽(显存)


CUDA 程序开发工具

  1. CUDA;
  2. OpenCL,更为通用的各种异构平台编写并行程序的框架,AMD 的 GPU 程序开发工具;
  3. OpenACC,由多公司共同开发的异构并行编程标准

CUDA 提供两层 API,即 CUDA 驱动APICUDA 运行时API
CUDA 开发环境中,程序应用程序是以主机(CPU)为出发点的;应用程序可以调用 CUDA 运行时 API、
CUDA 驱动 API 和一些已有的 CUDA 库。


CUDA 开发环境搭建

linux 操作系统:linux下cuda环境搭建

windows10 操作系统:windows10下cuda环境搭建


nvidia-smi 检查与设置设备

>> nvidia-smi
Sun Apr  7 17:42:26 2024       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2060    Off  | 00000000:01:00.0  On |                  N/A |
| 34%   37C    P8    19W / 170W |   2127MiB /  5912MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1595      G   /usr/lib/xorg/Xorg                           645MiB |
|    0      5462      G   /usr/bin/gnome-shell                         372MiB |
|    0      6451      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files   599MiB |
|    0     11002      G   python                                       504MiB |
+-----------------------------------------------------------------------------+
  1. CUDA Version, 10.2;
  2. GPU Name,GeForce RTX 2060,设备号为 0;如果系统中有多个 GPU 且只要使用其中某个特定的 GPU,
    可以通过设置环境变量 CUDA_VISIBLE_DEVICES 的值,从而可以在运行 CUDA 程序前选定 GPU;
  3. TCC/WDDM,WDDM(windows display driver model),其它包括 TCC(Tesla compute cluster);
    可以通过命令行 nvidia-smi -g GPU_ID -dm 0,设置为 WDDM 模式(1 为 TCC 模式);
  4. Compute mode, Default,此时同一个 GPU 中允许存在多个进程;其他模式包括 E.Process,
    指的是独占进程模式,但不适用 WDDM 模式下的 GPU;
    可以通过命令行 nvidia-smi -i GPU_ID -c 0,设置为 Default 模式(1 为 E.Process 模式);
  5. Perf,p8(GPU 性能状态,最大p0~最小p12);

更多关于 nvidia-smi 的资料:nvidia-smi


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值