创建不变的浮点累加器

2024-09-03

这篇文章探讨了在使用SIMD指令集进行浮点运算时,如何创建跨不同指令集架构(ISA)的不变累加器。作者详细分析了浮点运算的特性、SIMD指令集的差异以及常见代码模式导致的不变性问题,并针对每种问题提出了解决方案。文章还涵盖了编译器设置、快速近似、融合操作、标准库函数以及稳定最小/最大值选择等方面,为开发者提供了一份全面而实用的指南。

阅读更多
未分类

astcenc 的 SVE 后端

2024-08-10

本文介绍了为astcenc压缩算法开发的基于Arm SVE指令集的后端实现。SVE指令集具有可变向量长度、谓词操作和原生分散/收集操作等优势,可以显著提高数据处理效率。作者详细介绍了SVE的特性、采用固定宽度256位实现的原因以及性能测试结果。测试表明,SVE后端相较于NEON指令集,在压缩性能方面有14%到63%的提升,尤其是在处理较大数据块时优势更加明显。作者还展望了未来进一步优化astcenc压缩性能的方向,包括尝试使用SVE2指令集和开发基于整数类型的全新编解码器。

阅读更多
未分类 SVE astcenc