我可以更改 SAXPY 函数的公式吗?

Can I change the formula of SAXPY function?

本文关键字:函数 SAXPY 我可以      更新时间:2023-10-16

我是GPGPU的新手,我对SAXPY函数感到困惑: SAXPY 函数就像给定两个相同大小和类型向量 X 和 Y,执行更改 Y 中每个元素的操作:y[i] = y[i]+a*x[i]

我不确定我们是否可以更改 SAXPY 的公式,例如:y[i]=(y[i]+a)*(x[i]+c)

但是在这种情况下,有一个新的常量 c,我不知道在这种情况下如何调用 SAXPY。

感谢您的宝贵时间。

我不知道在这种情况下如何调用 SAXPY。

你不能。

Saxpy 是 (nvidia docs( 的缩写:

单精度A·X 加 Y

可能的实现方式是:

void saxpy(int n, float a, float * restrict x, float * restrict y)
{
for (int i = 0; i < n; ++i)
y[i] = a*x[i] + y[i];
}

如果你想要y[i]=(y[i]+a)*(x[i]+c),那么这是一个不同的功能。无论您如何转换配方,saxpy都无法为您完成x[i]*y[i]部分。