香草 C 替代英特尔内在函数? [关闭]
Posted
技术标签:
【中文标题】香草 C 替代英特尔内在函数? [关闭]【英文标题】:Vanilla C drop in replacement for intel intrinsics? [closed] 【发布时间】:2019-06-19 20:08:30 【问题描述】:对于每个 avx、sse4 等内在函数,都有一个开放的逻辑算法。我想知道用 vanilla C 代码(用于调试、arm 上的原型制作等)替换内在函数是否有官方或非官方的下降?
【问题讨论】:
如果有,你想做什么? 每个可能需要部分或全部这些的项目最终都会实现它。它算作官方/非官方掉落吗? @EugeneSh.: 如果它发布为可从主项目模式独立使用的东西 其中一些是不可能精确模拟的边界:rcpps
、rsqrtps
使用未记录的近似值,vfmadd132pd
需要 128 位浮点数。基本数学很简单,但速度很慢:如果源代码混合了浮点数和双精度数,并且您使用传统 x87 指令模拟 SSE,则需要在每条指令之前在 FP 控制寄存器中切换精度。
@Sonts:很慢是预期的。
【参考方案1】:
我有一个项目,SIMDe,可以做到这一点。它不完整,但比anything else I'm aware of 更充实。欢迎投稿;)
【讨论】:
以上是关于香草 C 替代英特尔内在函数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
英特尔至强融核使用的内在函数是不是比自动矢量化获得更好的性能?
在 Powerpc 上,是不是有任何等效于英特尔的 movemask 内在函数?
如何将参数传递给英特尔 SSE 内在函数中的 const 值?
英特尔 SIMD 内在函数:_mm256_i64scatter_pd