作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如果 float 是 16 字节对齐的,将它们直接转换为 __m128
是否安全/可能/可取?
我注意到使用 _mm_load_ps
和 _mm_store_ps
来“包装”原始数组会增加大量开销。
我应该注意哪些潜在的陷阱?
编辑:
使用加载和存储指令实际上没有开销,我混合了一些数字,这就是我获得更好性能的原因。即使您在 __m128
实例中对原始内存地址进行了一些可怕的修改,当我运行测试时,在没有 _mm_load_ps
指令的情况下完成了两倍的时间,可能会退回到一些故障安全代码路径。
最佳答案
是什么让您认为 _mm_load_ps
和 _mm_store_ps
“增加了大量开销”?这是向 SSE 寄存器加载/存储 float 据的正常方法,假设源/目标是内存(任何其他方法最终都归结为这一点)。
关于c++ - 如果它们是 16 字节对齐的,是否可以将 float 直接转换为 __m128?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759791/
我是一名优秀的程序员,十分优秀!