gpt4 book ai didi

sse - SSE 和 AVX 的 SIMD 数学库

转载 作者:行者123 更新时间:2023-12-03 22:32:59 27 4
gpt4 key购买 nike

我正在寻找 SSE 和 AVX 的 SIMD 数学库(最好是开源的)。我的意思是,例如,如果我有一个带有 8 个浮点值的 AVX 寄存器 v,我希望 sin(v) 一次返回所有八个值的 sin。

AMD 有一个专有库,LibM http://developer.amd.com/tools/cpu-development/libm/它具有一些 SIMD 数学函数,但 LibM 仅在检测到 Intel CPU 没有的 FMA4 时才使用 AVX。此外,我不确定它是否完全使用 AVX,因为所有函数名称都以 s4 (d2) 而不是 s8 (d4) 结尾。它比 Intel CPU 上的标准数学库提供更好的性能,但也好不到哪里去。

英特尔将 SVML 作为其 C++ 编译器的一部分,但编译器套件在 Windows 上非常昂贵。此外,英特尔削弱了非英特尔 CPU 上的库。

我找到了以下 AVX 库,http://software-lisc.fbk.eu/avx_mathfun/ ,它支持一些数学函数(exp、log、sin、cos 和 sincos)。它为我提供了非常快的结果,比 SVML 快,但我没有检查准确性。它仅适用于单个浮点,在 Visual Studio 中不起作用(尽管这很容易修复)。它基于另一个 SSE 库。

有没有人有其他建议?

编辑:我找到了一个关于这个主题的很多答案的 SO 线程
Vectorized Trig functions in C?

最佳答案

我已经实现了 Vecmathlib https://bitbucket.org/eschnett/vecmathlib/作为其他两个项目(爱因斯坦工具包和 pocl http://pocl.sourceforge.net/)的通用库。 Vecmathlib 是开源的,是用 C++ 编写的。

关于sse - SSE 和 AVX 的 SIMD 数学库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15723995/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com