【发布时间】:2011-07-31 11:25:36
【问题描述】:
我正在寻找一个免费/开源 C/C++(任何一个都可以)库,该库包含常见数学函数(例如 ln 或 exp)的矢量化版本,类似于 Intel 的 Linux 向量数学库。我想要一个库,它可以让我编写如下内容:
double a[ARRAY_SIZE], b[ARRAY_SIZE];
for (int i = 0; i < ARRAY_SIZE; ++i) {
a[i] = ln(b[i]);
}
作为:
double a[ARRAY_SIZE], b[ARRAY_SIZE];
vectorized_ln(a, b, ARRAY_SIZE);
并让它使用 Intel 和 AMD 架构上可用的 SIMD 指令的全部功能。开发环境由在 Linux 上运行的 GNU 工具组成。英特尔的数学内核库包含一个叫做向量数学库的东西,它宣传“计算密集型核心数学函数的向量实现”,包括基本函数、三角函数等,所以我正在寻找类似的东西,但免费。
【问题讨论】:
-
'C/C++' 是我能读到的最糟糕的东西,因为它们不是一回事。
-
已编辑以表明任何一种语言都可以接受。