对于全局内存中的数组X,我需要在每个内核执行中写入两个值。
X[p]=mul1+mul2;
X[p+a]=mul1-mul2;
这里' a'范围从0到非常高的值。我观察到这两个写入在很大程度上减缓了我的内核。
答案 0 :(得分:0)
假设p
与您的线程ID线性相关,那么您正在以正确的方式做事。您可以尝试将X+a
作为第二个参数传递给内核,而不是Y[p]=mul1-mul2;
,但我怀疑它会更快。
关于你的第二个问题,如果你想要有两个内核,一个执行添加,另一个减法并同时启动它们,你不能确定它们将并行运行。我再次怀疑它最终会更快。