我发现GCC7不能使用_mm256_log_ps。关于stackoverflow最常见的建议是使用ICC或利用OpenCL SDK。
下载SDK并解压RPM文件后,有三个.so文件:__ocl_svml_l9.so、__ocl_svml_e9.so、__ocl_svml_h8.so
有人能教我如何用这些.so文件调用_mm256_log_ps吗?
谢谢。
发布于 2018-08-19 06:01:25
您可以从Eigen library中使用log函数
#include <Eigen/Core>
void foo(float* data, int size)
{
Eigen::Map<Eigen::ArrayXf> arr(data, size);
arr = arr.log();
}根据编译标志,这将生成优化的SSE或AVX代码(以及用于其他体系结构的SIMD )。该方案基于基于cephes的http://gruntthepeon.free.fr/ssemath/协议实现。
https://stackoverflow.com/questions/51796612
复制相似问题