服务器GPU显存带宽测试方法【bandwidth】
一 概述
本文档将对GPU的显存带宽进行测试说明,通过使用cuda-sample的程式,对GPU to Host,Host to GPU, GPU to GPU三种模式进行测试
二 准备
在测试之前,需要正确安装好GPU驱动和CUDA
如果是Nvlink的机器,除了安装常规的GPU驱动,还需要安装nvidia-fabricmanager服务,此部分可以参考:https://docs.aheadai.cn/193.html
三 安装
前往官网下载NVIDIA官方的CUDA sample程序包,官网地址:https://github.com/NVIDIA/cuda-samples/
也可以到AheadAI的公共资源站上下载:
注意:CUDA sample的包版本不宜过高,建议和CUDA版本匹配
11.0:https://mirrors.aheadai.cn/pkgs/cuda-samples-11.0.tar.gz
11.2:https://mirrors.aheadai.cn/pkgs/cuda-samples-11.2.tar.gz
11.5:https://mirrors.aheadai.cn/pkgs/cuda-samples-11.5.tar.gz
11.6:https://mirrors.aheadai.cn/pkgs/cuda-samples-11.6.tar.gz
11.8:https://mirrors.aheadai.cn/pkgs/cuda-samples-11.8.tar.gz
12.0:https://mirrors.aheadai.cn/pkgs/cuda-samples-12.0.tar.gz
12.1:https://mirrors.aheadai.cn/pkgs/cuda-samples-12.1.tar.gz
12.2:https://mirrors.aheadai.cn/pkgs/cuda-samples-12.2.tar.gz
12.3:https://mirrors.aheadai.cn/pkgs/cuda-samples-12.3.tar.gz
12.4:https://mirrors.aheadai.cn/pkgs/cuda-samples-12.4.tar.gz
12.5:https://mirrors.aheadai.cn/pkgs/cuda-samples-12.5.tar.gz
下载cuda-sample程序包,并上传到服务器上
解压后,找到bandwidthTest文件夹:
find . -name bandwidthTest
一般都在Utilities这个父级目录的下面
进入后,如果报错:
make: /usr/local/cuda/bin/nvcc: Command not found
则进入Makefile文件,将 CUDA_PATH 修改为你实际的CUDA地址:
保存退出后,执行make,这个时候就可以看到编译得到的bandwidthTest这个可执行文件了
四 测试
直接执行编译得到的bandwidthTest文件,即可开始测试:
(sam) qiql@d8fbcca68988:~/ssd/cuda-samples-12.0/Samples/1_Utilities/bandwidthTest$ ./bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on...
Device 0: NVIDIA A100
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(GB/s)
2048000000 26.2
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(GB/s)
2048000000 26.2
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(GB/s)
2048000000 1542.1
Result = PASS
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
但这个时候的测试值一般都比较低,这是因为在测试程序中,所操作的数组长度太小导致的,所以GPU的显存性能没有发挥出来
进入 bandwidthTest.cu文件,找到DEFAULT_SIZE 字段,默认是32MB的数据,试探性的对其进行增大,注意:如果数值太大,可能会出现数值溢出或显存不足的情况
通常实测值在理论值的80%左右是比较正常的
如果服务器上有多张卡,那么通过指定:--device参数可以测试指定的卡(卡号通常从0号开始)
比如,测试1号卡的命令为:
./bandwidthTest --device=1
评论