0

単純なコードがあり、マルチスレッド対応にしたいと考えています。

for(x=0;x<xLen;x++)
{
    for(y=0;y<yLen;y++)
    {
        index = x*y+z;
        a[index] = a[index-1] + a[index+1] +a[index-lenX] + a[index+lenX];
    }
}

通常、xLen をスレッド数で割り、すべての部分を独自のスレッドで実行します。ただし、この場合に分割すると問題が発生し、場所によっては結果が間違ったデータに基づいている場合があります (たとえば、 index-1 は既に隣接するによって更新された値を保持します)。

以前にこの種の問題を抱えていた体はありますか?この種の方程式に対する既知のアプローチはありますか?

4

0 に答える 0