0

全部。我有 3 个不同长度的数组,比如 x、y、z。我想计算f(x)*f(y)*f(z)*f(x,y,z)f 是不同函数的总和。目前,我在 C 中使用递归循环。因为数字非常大,C 代码非常慢。我只是想知道在 CUDA 中最好的方法是什么?提前致谢。

4

1 回答 1

1

你问的问题有点含糊。

首先,将数组 x,y,z 传输到 GPU 全局内存中。如果 x+y+z< 512,则可以使用共享内存的概念(无需循环的帮助)。如果不满意,可以使用循环。您分别评估 f(x),f(y),f(z),f(x,y,z) 并将它们相乘(每次乘法一个线程)。此外,长度 x,y,z 应与数组乘法属性一致。

于 2012-11-05T06:58:23.647 回答