我在哪里可以找到 AVX 指数双精度函数?
Posted
技术标签:
【中文标题】我在哪里可以找到 AVX 指数双精度函数?【英文标题】:Where can I find an AVX exponential double-precision function? 【发布时间】:2016-11-15 20:48:53 【问题描述】:我最近正在研究矢量化指数函数的实现。找到单精度的代码实际上很简单,但很难找到双精度的代码。我还没有找到任何双精度 AVX 求幂的实现。 SSE 的代码几乎可以适应,但通常用于乘以 2^n 的技巧似乎不适用于 AVX。
有人知道这样的实现吗?
【问题讨论】:
英特尔的 SVML 库中总是有_mm256_exp_pd
。另外我相信 Agner Fog 的向量类库支持 exp
用于双精度向量:agner.org/optimize/vectorclass.pdf
另一个支持 AVX2 和双精度的数学库是 Yeppp!。
Agner Fog 的矢量库做得很好!如果您将其发布为答案,我会接受@PaulR
@BaptisteWicht:感谢您的反馈 - 很高兴它为您解决了问题 - 我已按照您的建议将我的评论转换为答案。
【参考方案1】:
如果您使用的是 Intel 的 ICC 编译器,那么 SVML 库中有 _mm256_exp_pd
。
另外,Agner Fog 的 vector class library 支持 exp
用于双精度向量。
【讨论】:
Agner Fog的向量库正是我要找的,代码也够全面。以上是关于我在哪里可以找到 AVX 指数双精度函数?的主要内容,如果未能解决你的问题,请参考以下文章
加速图像处理的神器: INTEL ISPC 编译器迁移图像旋转算法 - 从 ISPC双精度到 ISPC单精度
加速图像处理的神器: INTEL ISPC 编译器迁移图像旋转算法 - 从 ISPC双精度到 ISPC单精度