近日ffmpeg团队宣布,通过在视频处理工作负载中实施手写avx-512汇编代码,实现了最高94倍的性能提升。
高级矢量扩展(avx)是x86指令集架构的一种“单指令、多数据”扩展,由intel和amd在cpu中实现。
avx-512作为avx的扩展,通过使用512位寄存器和一系列高级功能,显著增强了并行处理能力。
ffmpeg是一个开源视频解码项目,提供了一整套用于处理音频和视频流的库和工具。
开发人员使用avx-512指令集创建了一个优化的代码路径,以加速ffmpeg多媒体处理库中的特定功能,实现了从3倍到94倍的性能提升。
而汇编语言作为一种低级语言,如今很少有程序员会专门学习,但熟练的开发人员总是在追求在最新硬件上最大限度地提高性能。
对于使用支持avx-512的硬件用户而言,这项开发尤其有价值,使他们能够更高效地处理媒体内容。
但很遗憾的是,intel从第12代酷睿开始,就禁用了avx-512支持,反倒是amd从zen4架构开始支持。