串行程序改并行

en为数组
1 2 3 4 5
2 3 4 5 6
8 9 10 11 12
7 8 9 10 11

const int NUMEL=5;

node1[i]=en[i];
node2[i]=en[NUMEL+i];
node3[i]=en[NUMEL2+i];
node4[i]=en[NUMEL
3+i];
接下来利用了 node1、node2、node3、node4数组做下标

node1dux[i]=nodev[node1[i]]*dt;
node1duy[i]=nodev[node1[i]+NUMNP]]*dt;

node2dux[i]=nodev[node2[i]]*dt
node2duy[i]=nodev[node2[i]+NUMNP]*dt;

node3…
node4…

因为可能存在
node1[i]=node2[j]=node3[k]=node4[n]
怎么并行起来?

怎么都没有人啊??急啊!11

你可以考虑一下原子指令

我看了 atomicAdd() .这和这个程序怎么挂上钩啊?