首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于延迟计算SIMD/SSE表达式的C/C++库

用于延迟计算SIMD/SSE表达式的C/C++库
EN

Stack Overflow用户
提问于 2011-08-10 15:49:37
回答 2查看 932关注 0票数 4

诸如intel-MKL或amd-ACML这样的库为向量上的SIMD操作提供了更容易的接口,但我想将几个函数链接在一起。有没有现成的库可以让我为像这样的表达式注册解析树

代码语言:javascript
复制
log( tanh(x) + exp(x) )

然后在数组的所有成员上对其求值?我想要避免的是通过调用tanh()exp()+的mkl或acml函数来创建tanh(x)exp(x)+的临时数组。

我可以手动展开循环并直接使用sse指令,但我想知道是否有C++库可以为您做这件事。

代码语言:javascript
复制
1. Handles SIMD/SSE functions  
2. Allows building of parse trees out of SIMD/SSE functions.  

我是一个新手,以前从未使用过SSE或MKL/ACML,只是冒险进入新的领域。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-10 16:34:12

它可能做不到你想要的,但我建议你看看macstl。它是一个使用模板元编程的SIMD valarray实现,可以将表达式组合到单个循环中。您可以按原样使用它,也可以将其作为更接近您需要的东西的基础。

票数 2
EN

Stack Overflow用户

发布于 2011-08-10 19:16:56

看看Intel ABB吧。它使用即时编译方法IIRC。它可以使用矢量指令和多线程,这取决于您操作的矢量的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7007469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档