gpt4 book ai didi

使用 GCC vector 内在函数计算 x^y

转载 作者:太空狗 更新时间:2023-10-29 17:23:02 32 4
gpt4 key购买 nike

假设我有一个 2 元素 vector 定义如下(使用打包 vector 的 GCC 语法)

// packed vector of 2-elements
typedef double v2d __attribute__((vector_size(sizeof(double)*2)));

v2d x = ...;
double y = ...;

x[0] = pow(x[0], y)
x[1] = pow(x[1], y)

我想知道是否有更快的方法来使用 vector 运算来进行两次幂计算。该体系结构是 x86-64 上的 GCC,平台特定代码是可以的。

最佳答案

是的,如果您没有特殊情况(负数、0、1、NaN 等...),这应该是可能的,这样代码路径是线性的。

Here是 IEEE754 double 的 pow 函数的通用代码,它没有循环结构,因此如果您充实所有特殊情况,向量化似乎很简单。玩得开心。

关于使用 GCC vector 内在函数计算 x^y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13424800/

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