线程分配问题

请问大家,假如我有两个数组 a【1000】,b【1000】,要将它两在核函数里对应求和,但是 a、b数组在第500个值处

(即a【500】,b【500】)就两个值的积,如果只用一个block,那么这样的线程应该怎么分配啊? 谢谢了啊!

改一下啊,在a[500]和b[500]处,求两值的积,其他都是求和。谢谢!

我说个简单的示例:

假定您是一个block,安排一维的thread排布,block内部1000个threads。

您大可以在kernel里面

tid=threadIdx.x;
if tid==499
{c[tid]=a[tid]*b[tid];}

else
{c[tid]=a[tid]+b[tid];}

另外,请注意,第500个数值是499编号的,因为下标是从0开始的。

欢迎莅临cudazone,祝您编码愉快~

非常感谢您啊,ice!

额,小事一桩,何足挂齿。

祝您编码愉快~