本帖最後由 MSI_R9_280_Gami 於 2026-5-12 02:44 編輯
tested IVB E5-2667 v2 + RX 570 4GB,相比BDW E3-1285L v4少左AVX2
呢段片播得唔順,CPU usage 88%,而E3-1285L v4 + R9 270 2GB係好順,證明真係AVX2起作用。我就係記得之前RX480 8GB RX570 4GB播過段片好lag,冇理由R9 270 2GB播得咁順,係AVX2既功勞,同埋我之前用ffmpeg轉片,E3-1285L v4係快過E5-2667 v2 E5-2697 v2
$ffplay 이금주/KqQ0MxfJ_5M_HDR337-251.webm
E3-1285L v4 + R9 270 2GB播呢段片CPU usage 53%
270
FP32 (float)
2.368 TFLOPS
FP64 (double)
148.0 GFLOPS (1:16)
280
FP32 (float)
3.344 TFLOPS
FP64 (double)
836.0 GFLOPS (1:4)
280X
FP32 (float)
4.096 TFLOPS
FP64 (double)
1,024.0 GFLOPS (1:4)
290
FP32 (float)
4.849 TFLOPS
FP64 (double)
606.1 GFLOPS (1:8)
570
FP16 (half)
5.095 TFLOPS (1:1)
FP32 (float)
5.095 TFLOPS
FP64 (double)
318.5 GFLOPS (1:16)
7900XTX FP64比R9 280X高左一倍都冇
FP16 (half)
122.8 TFLOPS (2:1)
FP32 (float)
61.39 TFLOPS
FP64 (double)
1.918 TFLOPS (1:32)
AI 概览
FP64(双精度浮点数)是一种使用64位二进制(8字节)存储的数值数据类型,符合 IEEE 754 标准。它主要用于需要极高精度和数值范围的科学计算、物理仿真和HPC(高效能计算),可表示大约 15-17 位有效数字。
核心特点与应用:
●结构与范围: 由 1 位符号位、11 位指数位和 52 位尾数位组成,数值范围约为 2.23 x10⁻³⁰⁸ 到 1.80 x10³⁰⁸。
●适用场景: 对计算精度要求极高,通常不用于训练深度学习模型,因为其速度慢且内存占用大。
●硬件性能: 在现代GPU架构(如 AMD CDNA、NVIDIA 数据中心卡)中,FP64 性能是衡量高性能计算(HPC)的核心指标。2026年,AMD Instinct MI430X 加速器通过其架构在HPC领域实现了突破性的FP64性能。
●对比: 相比单精度 (FP32) 和半精度 (FP16/BF16),FP64 精度最高,但功耗和计算资源需求也最高。
https://zhuanlan.zhihu.com/p/136099964
为什么会有扩展指令集
无论CPU有多快,X86指令也只能一次处理一个数据,这样效率就很低下,毕竟在很多应用中,数据都是成组出现的,比如一个点的坐标(XYZ)和颜色(RGB)、多声道音频等。为了提高CPU在某些方面的性能,就必须增加一些特殊的指令满足时代进步的需求,这些新增的指令就构成了扩展指令集。
扩展指令集的演变过程
●英特尔在1996年率先引入了MMX(Multi Media eXtensions)多媒体扩展指令集,也开创了SIMD(Single Instruction Multiple Data,单指令多数据)指令集之先河,即在一个周期内一个指令可以完成多个数据操作,MMX指令集的出现让当时的MMX Pentium处理器大出风头。
●SSE(Streaming SIMD Extensions,流式单指令多数据扩展)指令集是1999年英特尔在Pentium III处理器中率先推出的,并将矢量处理能力从64位扩展到了128位。
●在Willamette核心的Pentium 4中英特尔又将扩展指令集升级到SSE2(2000年),而SSE3指令集(2004年)是从Prescott核心的Pentium 4(第一次接触电脑时就是奔4)开始出现。
●SSE4(2007年)指令集是自SSE以来最大的一次指令集扩展,它实际上分成Penryn中出现的SSE4.1和Nehalem中出现的SSE4.2,其中SSE4.1占据了大部分的指令,共有47条,Nehalem中的SSE4指令集更新很少,只有7条指令,这样一共有54条指令,称为SSE4.2。
●2007年8月,通用CPU领域Intel友商AMD抢先宣布了SSE5指令集(SSE到SSE4均为英特尔出品),英特尔当即表示不玩SSE了也不再支持SSE5。
AVX出现了
2008年3月Intel宣布Sandy Bridge微架构将引入全新的AVX指令集,同年4月公布AVX指令集规范,随后开始不断进行更新,业界普遍认为支持AVX指令集是Sandy Bridge最重要的进步,没有之一。
其中AVX全称是Advanced Vector Extension,高级矢量扩展,什么是矢量?学过矩阵论的也应该知道,学过线性代数的也应该知道,高中物理里面也会提到:方向+大小的三维或四维标量组合,一般常用N维矩阵表示,计算机编程中就是用数组来表示。
AVX指令集“借鉴”了一些AMD SSE5的设计思路,进行扩展和加强,形成一套新一代的完整SIMD(上文提到过,单指令多数据)指令集规范。
https://zhuanlan.zhihu.com/p/514966360
计算机架构有多种分类方法,其中最著名的是1966年由Flynn提出的分类法,称为Flynn分类法。Flynn分类法根据指令和数据进入CPU的方式,将计算机架构分为四种不同的类型
●单指令流单数据流(SISD, Single Instruction stream Single Data stream)
●单指令流多数据流(SIMD, Single Instruction stream Multiple Data stream)
●多指令流单数据流(MISD, Multiple Instruction stream Single Data stream)
●多指令流多数据流(MIMD, Multiple Instruction stream Multiple Data stream)
SISD指的是传统计算机:一种串行架构。在这种计算机上只有一个核心,在任何时间点上只有一个指令流在处理一个数据流。
SIMD是一种并行架构类型。在基于SIMD架构的计算机上有多个核心,在任意时间点上所有核心只有一个指令流处理不同的数据流,现在大多数计算机都采用了SIMD架构。SIMD本质上是采用一个控制器来控制多个处理器,同时对一组数据中的每一条分别执行相同的操作,从而实现空间上的并行性的技术。
而这种并行化执行实现的原因是因为CPU在物理设计时候,增加了一些专用的向量寄存器,这些寄存器的长度往往大于通用寄存器,比如SEE 的 XMM寄存器的长度为128位,AVX和AVX2的YMM寄存器为256位。因此,这些专用的向量寄存器可以同时放入多个数据。但需要注意,这里放入的多个数据需要保证数据类型是一致的。
Intel SIMD 指令集
●MMX 指令集,MMX(Multi Media eXtension,多媒体扩展指令集)指令集是Intel公司于1996年推出的一项多媒体指令增强技术。MMX指令集中包括有57条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处理,这样在软件的配合下,就可以得到更高的性能。
●SSE/SSE2/SSE3/SSE4/SSE5 指令集,Intel在1999年推出SSE(Streaming SIMD eXtensions)指令集,是x86上对SIMD指令集的一个扩展,主要用于处理单精度浮点数。Intel陆续推出SSE2、SSE3、SSE4版本。其中,SSE主要处理单精度浮点数,SSE2引入了整数的处理,SSE指令集引入了8个128bit的寄存器,称为XMM0到XMM7,正因为这些寄存器存储了多个数据,使用一条指令处理,因此称这项功能为SIMD。
●AVX指令集,AVX在2008年3月提出,并在2011年 Sandy Bridge系列处理器中首次支持。AVX指令集在单指令多数据流计算性能增强的同时也沿用了的MMX/SSE指令集。不过和MMX/SSE的不同点在于增强的AVX指令,从指令的格式上就发生了很大的变化。x86(IA-32/Intel 64)架构的基础上增加了prefix(Prefix),所以实现了新的命令,也使更加复杂的指令得以实现,从而提升了x86 CPU的性能。 |