Aarch64 CPU Benchmarks for Performance Degrade
超微半导体公司(英語:Advanced Micro Devices, Inc.;縮寫:AMD、超微,或譯「超威」),創立於1969年,是一家專注於微处理器及相關技術設計的跨国公司,总部位于美國加州舊金山灣區矽谷內的森尼韦尔市。
由 AMD 于 2019 年年中设计和推出。 是基于 Zen 2 微架构的多芯片处理器
1 | > cat lscpu.txt |
1 | fpu:板载 FPU(浮点支持) |
1 | ss:CPU自监听 |
1 | syscall: SYSCALL (Fast System Call) and SYSRET (Return From Fast System Call) |
1 | mp: Multiprocessing Capable. |
1 | constant_tsc:TSC(Time Stamp Counter) 以恒定速率滴答 |
1 | pni: SSE-3 (“2004年,新内核Prescott New Instructions”) |
1 | lahf_lm:在长模式下从标志 (LAHF) 加载 AH 并将 AH 存储到标志 (SAHF) |
1 | cpb:AMD 核心性能提升 |
1 | vmmcall:比 VMCALL 更喜欢 VMMCALL |
1 | fsgsbase:{RD/WR}{FS/GS}BASE 指令 |
1 | xsaveopt: Optimized XSAVE |
1 | cqm_llc: LLC QoS # last level cache (LLC) |
1 | clzero:CLZERO 指令,随 Zen 微体系结构引入的 AMD 供应商特定 x86 指令。CLZERO 通过向行中的每个字节写入零来清除由 RAX 寄存器中的逻辑地址指定的缓存行。 |
1 | arat: Always Running APIC Timer |
1 | npt:AMD 嵌套页表支持 |
1 | umip:用户模式指令保护 |
1 | overflow_recov:MCA 溢出恢复支持 # Machine Check Architecture (MCA) |
ssbd ibrs ibpb stibp
英特尔处理器支持多种技术来优化功耗。 在本文中,我们概述了 p 状态(运行期间电压和 CPU 频率的优化)和 c 状态(如果内核不必执行任何指令,则优化功耗)。
ADCX
将两个无符号整数加上进位,从进位标志中读取进位,并在必要时将其设置在那里。 不影响进位以外的其他标志。
ADOX
将两个无符号整数加上进位,从溢出标志中读取进位,并在必要时将其设置在那里。 不影响溢出以外的其他标志。
暂无
暂无
https://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean
低延时的设计思路
相比之下计算能力只是CPU很小的一部分。擅长逻辑控制,串行的运算。
大吞吐量设计思路
0
cycles and can happen every cycle.[^2]对带宽大的密集计算并行性能出众,擅长的是大规模并发计算。
对比项 | CPU | GPU | 说明 |
---|---|---|---|
Cache, local memory | 多 | 低延时 | |
Threads(线程数) | 多 | ||
Registers | 多 | 多寄存器可以支持非常多的Thread,thread需要用到register,thread数目大,register也必须得跟着很大才行。 | |
SIMD Unit | 多 | 单指令多数据流,以同步方式,在同一时间内执行同一条指令 |
其实最早用在显卡上的DDR颗粒与用在内存上的DDR颗粒仍然是一样的。后来由于GPU特殊的需要,显存颗粒与内存颗粒开始分道扬镳,这其中包括了几方面的因素:
1 | sudo dmidecode|grep -A16 "Memory Device"|grep "Speed" |
因为显存可以在一个时钟周期内的上升沿和下降沿同时传送数据,所以显存的实际频率应该是标称频率的一半。
从GDDR5开始用两路传输,GDDR6采用四路传输(达到类似效果)。
GDDR6X的频率估计应该至少从16Gbps(GDDR6目前的极限)起跳,20Gbps为主,这样在同样的位宽下,带宽比目前常见的14Gbps GDDR6大一半。比如在常见的中高端显卡256bit~384位宽下能提供512GB/s~768GB/s的带宽。
RTX 3090的GDDR6X显存位宽384bit,等效频率19Gbps到21Gbps,带宽可达912GB/s
到1006GB/s
,达到T级。(384*19/8=912)
RTX 3090 加速频率 (GHz) 1.7, 基础频率 (GHz) 1.4
1 | 19/1.4 = 13.57 |
912GB/s
到1006GB/s
附近3.2 Gbps * 64 bits * 2 / 8 = 51.2GB/s
可见两者差了20倍左右。
通过上面的例子,大致能知道: 需要高访存带宽和高并行度的SIMD的应用适合分配在GPU上。
$$ 144 SM * 4 warpScheduler/SM * 32 Threads/warps = 18432 $$
https://zhuanlan.zhihu.com/p/156171120?utm_source=wechat_session
https://www.cnblogs.com/biglucky/p/4223565.html
https://www.zhihu.com/question/36825227/answer/69351247
https://baijiahao.baidu.com/s?id=1675253413370892973&wfr=spider&for=pc
https://zhuanlan.zhihu.com/p/62234511
https://kknews.cc/digital/x6v69xq.html
[^1]: 并行计算课程-CUDA 密码pa22