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

问题描述 投票:0回答:1

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

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

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

感谢您的宝贵时间。

c++ gpgpu
1个回答
0
投票

我不知道在这种情况下如何打电话给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]部分。

© www.soinside.com 2019 - 2024. All rights reserved.