0

複数のスレッドで実行したいメソッドがありますが、各スレッドは異なる数の結果を返します。プライベートなスレッド固有の変数、つまりホストに戻してすべての結果をマージできるリストを宣言することは可能ですか?

次のような配列があるとします。

int[,] arr1 = new int[3,3] {{ 3, 4, 5 }, {4, 5, 6}, {1, 6, 4}};
int[] arr2 = new int[] { 3, 4, 1 };

各スレッドには、分析する 3 つの値が与えられ、arr2 の値と arr1 の特定の行の値の差が記録されます。

[Cudafy]
public static void CountAbove(GThread thread, int[] a, int[,] b, list<int> c)
{
    int tid = thread.blockIdx.x;
    int threshold = a[tid];

    for(int i = 0; i < b.GetLength(0); i++)
    {
    if (threshold < b[tid,i]) c.add(b[tid,i] - threshold);
    }
}   
4

1 に答える 1