並列4スレッドだと例えばこうやるんです。
メモリ共有すると衝突で遅くなると思うので、実メモリが十分にあったら別々に確保。


スレッド1 : for(int i = 0; i < 40000; i+=4) { XY0[r]・・・ }
スレッド2 : for(int i = 1; i < 40000; i+=4) { XY1[r]・・・ }
スレッド3 : for(int i = 2; i < 40000; i+=4) { XY2[r]・・・ }
スレッド4 : for(int i = 3; i < 40000; i+=4) { XY3[r]・・・ }

for( r = 0; r < M; r++) { XY[r]=XY0[r]+XY1[r]+XY2[r]+XY3[r]; }