1. 深度学习显卡怎么看CUDA compute capability
该项目的计算力,GTX1080TI算力6.1/3.7,约K80的1.64倍
目前深度学习比较热门的卡:RTX2080TI,RTX2070(多路),GTX1080TI目前退市不容易买到多张。(二手另说)
*CUDA平台的深度学习,显卡主要看:单精度浮点运算,显存,Tensor Core(图灵架构与伏特架构才有,RTX系列与TITAN V)
*Tesla主要稳定性与一些特殊功能上,双精度(目前这个深度学习用的少),跑单精度与半精度浮点运算优势不大,价格昂贵(想要超过GTX1080TI算力,需要Tesla V100,一张几万)
2. 2022-01-21 查看显卡算力
笔者GeForce RT 710显卡,装的是792版本驱动,查看GPU信息,提示支持到CUDA11.4,遂装了11.4版本的CUDA,
首先验证CUDA环境是安装成功的
但是在安装paddle后,执行paddle验证函数时,提示错误
查资料说是显卡算力不足。
在NVIDIA网站查看显卡对应的算力表: https://developer.nvidia.com/zh-cn/cuda-gpus#compute
也可以在执行Python脚本获取显卡算力信息
3. nvidia显卡和CUDA版本关系
CUDA capability sm_86:算力8.6
上面表面上是说PyTorch,实际上是PyTorch依赖的CUDA版本的问题
翻译一下就是:RTX 3080的算力是8.6,但是当前的PyTorch依赖的CUDA版本支持的算力只有3.7、5.0、6.0、6.1、7.0、7.5及3.7以下
https://docs.nvidia.com/cuda/ampere-compatibility-guide/index.html#application-compatibility-on-ampere
翻译一下就是:
算力7.0的显卡可以在支持最高算力7.5的CUDA版本下运行,但是算力7.5的显卡不可以在支持最高算力7.0的CUDA版本下运行
同理算力8.x的显卡不可以在支持最高算力7.x的CUDA版本下运行
直接用最新版本的cuda,肯定就可以让所有显卡都可以用
缺点:pytorch不一定支持最新版本的CUDA
如上图,pytorch支持最新版本的CUDA为11.1,但是CUDA最新版本为11.2,装了CUDA11.2就用不了pytorch
看CUDA文档
https://docs.nvidia.com/cuda/ampere-compatibility-guide/index.html#building-ampere-compatible-apps-using-cuda-10-0
CUDA10.x最高支持算力7.x
另一种理解CUDA10.x支持Volta伏打架构和Turing图灵架构的显卡
https://docs.nvidia.com/cuda/ampere-compatibility-guide/index.html#building-ampere-compatible-apps-using-cuda-11-0
CUDA11.0最高支持算力8.0(注:这感觉应该是8.x)
另一种理解CUDA11.0支持Ampere安培架构的显卡
https://developer.nvidia.com/zh-cn/cuda-gpus#compute
https://blog.csdn.net/weixin_43751285/article/details/109648689
4. cuda核心数量有什么用
cuda核心数量越多运算速度就会越快。
同样架构下,运算速度和核心数量等比例递增,Cuda核心里面有运算器,例如一个Float32浮点运算器,1000个核心,1G主频,则FP32的算力为1T Flops,就是这么简单。
新的架构下:
1、Float的运算器可能是 64位的,可以实现双精度计算,在单精度上翻倍。
2、新的Tensor Core运算器支持FP16、INT8、INT4的计算能力,速度等比例翻倍。
3、新的Tensor Core可以支持4*4 个运算在一个时钟周期内完成,性能翻16倍数,Cuda Core和Tensor Core是不同的硬件单元,计算性能累加。
中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。
CPU出现于大规模集成电路时代,处理器架构设计的迭代更新以及集成电路工艺的不断提升促使其不断发展完善。
从最初专用于数学计算到广泛应用于通用计算,从4位到8位、16位、32位处理器,最后到64位处理器,从各厂商互不兼容到不同指令集架构规范的出现,CPU 自诞生以来一直在飞速发展。
冯诺依曼体系结构是现代计算机的基础。在该体系结构下,程序和数据统一存储,指令和数据需要从同一存储空间存取。
经由同一总线传输,无法重叠执行。根据冯诺依曼体系,CPU的工作分为以下 5 个阶段:取指令阶段、指令译码阶段、执行指令阶段、访存取数和结果写回。
5. 深度学习显卡用amd还是英伟达
深度学习显卡用英伟达比较好。
NVIDIA使用的人较多,所以网上的资源也比较多,容易学习和构建。而AMD的显卡,由于很迟才推出它的编程架构,用的人比较少,所以网上的资料较少,所以很难去学习。NVIDIA在深度学习训练方面的领先地位在MLPerf 0.6中得到了证明,这是AI训练的第一项行业级基准测试。
深度学习显卡的选择:
1、选择算力在5.0以上的
根据官方说明,在GPU算力高于5.0时,可以用来跑神经网络。算力越高,计算能力越强,建议小伙伴们在资金充足的情况下,尽量买算力高一些的。
2、尽量选择大显存
显存越高,意味着性能越强悍。特别是对于CV领域的朋友们,建议至少有一个8GB显存的显卡。下面是英伟达的部分中高端显卡的一些性能参数。
3、GPU几个重要的参数
GPU架构:
不同款的GPU可能采用不同设计架构,比如GeForce 10系列的GTX 1080/1080Ti采用的是Pascal架构,而GeForce 20系列的RTX 2080/2080Ti采用的是Turing架构。不同架构的GPU,即使其他参数差不多,性能差别可能非常大。
显存带宽:
代表GPU芯片每秒与显存交换的数据大小,这个值等于显存位宽*工作频率,单位为GB/秒,该值越大,代表GPU性能越好。Geforce GTX 1080的显存带宽为320GB/秒,而它的升级版Geforce RTX 2080的带宽为448GB/秒。
显存位宽:
代表GPU芯片每个时钟周期内能从GPU显存中读取的数据大小,这个值越大代表GPU芯片和显存之间数据交换的速度越快,性能越好。Geforce GTX 1080的显存位宽为256bit,Geforce RTX 2080Ti显存位宽为352bit。
GPU工作频率:
代表GPU每秒钟工作次数,单位为MHz,跟CPU的频率类似。该值越大代表性能越好。
CUDA核心数量:
CUDA核心数量越大越好,Geforce GTX 1080的CUDA核心数量是2560个。而Geforce RTX 2080Ti的CUDA核心数高达4352个。
功耗:
GPU能耗,像Geforce这种消费级的显卡一般功耗非常高,Geforce GTX 1080的最大功耗为175W,Tesla P4的最大功耗为75W。像那种数据中心大规模级别的GPU部署,低功耗的显卡一年电费能省很多。