1.CPU
(1)CPU指标:CPU的主要指标是主频和线程,当然也有一些其他因素影响,这里仅分析这两个主要的指标。
- 线程:Intel Alder Lake 12代采用大小核架构,P核/大核 基于Golden Cove架构,最多8个;E核/小核 基于Gracemont架构,最多8个;
(2)目前主流硬件分析:
型号 | 主频 | 线程 | 功耗 |
---|---|---|---|
i9-12900K | 基础频率 3.2 GHz,最高睿频5.2GHz | 8 E-core,8 P-core,24线程 | 基础功耗125W,最大功耗241W |
i9-12900H | 基础频率2.5GHz,最高睿频5.0GHz | 8 E-core,6 P-core,20线程 | 基础功耗45W,最大功耗115W |
i7-12700K | 基础频率3.6GHz,最高睿频5.0GHz | 4 E-core,8 P-core,20线程 | 基础功耗125W,最大功耗190W |
i9-11900K | 基础频率3.5GHz,最高睿频5.3GHz | 8 core,16线程 | 基础功耗125W |
i5-11600K | 基础频率3.7GHz,最高睿频4.9GHz | 4 E-core,6 P-core,16线程 | 基础功耗125W,最大功耗150W |
(3)CPU选购:
- Intel:后缀F表示无核显,后缀K代表可以超频,H代表移动端;
- AMD:后缀G代表有核显,后缀X代表加强版,后缀XT代表超级加强版。
2.GPU
(1)GPU性能与影响因素:GPU的性能主要来自几个方面:制程技术(nm)、GPU架构、线路设计、数字表示方式;一般认为 制程技术的进步大概只能让GPU的性能提高到原来的1.5或2倍,GPU性能的提升主要是靠GPU架构和线路设计、数字表示方式的完善。
- 制程技术:以往有28nm、16nm的工艺,现在最常使用的A100是7nm。
- GPU架构:NVIDIA2012年推出Kepler架构GPU,其FP32计算(单精度浮点数计算)速度达到近4 TFLOPS。2016年推出了Pascal架构,更适合深度学习,NVIDIA研究后发现,不少神经网络都可以用FP16(半精度浮点数计算)训练,因此Pascal架构的大部分型号都支持FP16计算;Pascal GPU的FP32计算速度可达10.6 TFLOPS,比前一款Kepler GPU高出不少,而它的FP16计算则更快,速度是FP32的两倍。2017年,NVIDIA推出Volta架构GPU,Volta架构中引入了Tensor Core,用于深度学习的加速。2018年,英伟达推出了Turing架构,顺带推出了Integer Tensor Core。2020年,英伟达发布了Ampere架构,A100推理速度可达1200 Teraflops以上。
- 数字表示方式:从Kepler架构的FP32到FP16到Int8再到Int4;
(2)GPU相比与CPU的特点:GPU的架构适合集群。上述GPU架构的更新同时也进行了集群方案的更新。
(3)深度学习对硬件的要求:
- 计算量:即一个深度学习模型需要多少次计算才能完成一次前馈。
- 内存带宽:带宽影响计算速度。即GPU内存带宽是深度学习性能提升的主要瓶颈。
(4)主流GPU设备的推理速度:https://developer.nvidia.com/cuda-gpus
GPU | Compute Capability | TFLOPS | GPU | Compute Capability | TFLOPS |
---|---|---|---|---|---|
Jetson AGX Xavier | 7.2 | (NVIDIA Pascal™ 架构)32 | GeForce RTX 3090 Ti | 8.6 | Ampere架构40单精度, |
Jetson nano | 5.3 | 0.5 | GeForce RTX 3090 | 8.6 | Ampere 架构,35.58 |
Jetson TX2 | 6.2 | 1.33 | GeForce RTX 3080 Ti | 8.6 | 34.10 |
Tesla K20 | 3.5 | 3.52(单精度),1.17(双精度) | GeForce GTX 1650 Ti | 7.5 | |
Tesla K40 | 3.5 | 4.29(单精度),1.43(双精度) | Geforce RTX 2080 Ti | 7.5 | 26.90 |
Tesla K80 | 3.7 | 8.74(单精度),2.91(双精度) | GeForce GTX 1080 Ti | 6.1 | 11.34 |
NVIDIA A100 | 8.0 | 19.5(单精度),9.7(双精度) | GeForce GTX 1060 | 6.1 | |
NVIDIA V100 | 7.0 | 15.7(单精度),7.8(双精度),112(Tensor) | GeForce GTX 1050 | 6.1 | |
GTX Titan x | 5.2 | 7(单精度),0.2(双精度) | GeForce GTX 3080 | 8.6 | 29.77 |
Note:单精度能够保证小数点后6到7位计算准确(2^23),双精度则是14到15位(2^52)
这里的 Compute Capability 并不是我们常说的 TFLOPS 算力,它只是英伟达给自己支持 CUDA 的 GPU 设置的一个“版本号”而已,代表着这个GPU具备什么样的功能,版本号越高说明 GPU 的工具包越新,支持的功能越新;一般的算力评价指标:TFLOPS(具体分单精度、双精度、Tensor);
一般来说,在硬件架构相同的条件下,核越来以及带宽越高,性能就越好。
Reference
1.英伟达首席科学家:深度学习硬件的过去、现在和未来:https://mp.weixin.qq.com/s/ofWCgv-ksJjqGH0qlbW8nw
2.内存带宽与计算能力,谁才是决定深度学习执行性能的关键?:https://cloud.tencent.com/developer/article/1117817