Dependencies openmp对连续向量元素的依赖性

Dependencies openmp对连续向量元素的依赖性,dependencies,openmp,Dependencies,Openmp,我想使用OpenMP并行化以下算法。 A和C是输入数据,B是输出数据。 A是向量,元素A[i]表示数组C的第i行中的元素数。 并行化是否可能 bno=0; for (j=0; j<A[0]; j++) B[bno++] = C[0][j]; for (i=1; i<L; i++) for (j=0; j<A[i]; j++) for (k=0; k<A[i-1]; k++) if ( f(C[i][j], C[

我想使用OpenMP并行化以下算法。 A和C是输入数据,B是输出数据。 A是向量,元素A[i]表示数组C的第i行中的元素数。 并行化是否可能

bno=0;
for (j=0; j<A[0]; j++)
    B[bno++] = C[0][j];

for (i=1; i<L; i++) 
    for (j=0; j<A[i]; j++)
        for (k=0; k<A[i-1]; k++) 
            if ( f(C[i][j], C[i-1][k]) == 1) 
                B[bno++]=C[i][j];
bno=0;

对于(j=0;j我用C重写了一个最小的、完整的、可验证的串行代码版本。 关于变量:整数的表A[N][M]被输入到我的代码中,整数的向量B[]被输出,整数bno被输出,并存储在向量B[]中复制的整数数量。 这个串行代码可并行化吗?我使用OpenMP

bno=0;
for (i=1; i<N; i++) 
    for (j=0; j<M; j++)
        for (k=0; k<M; k++) 
            if ( C[i][j] == C[i-1][k] ) 
                B[bno++]=C[i][j];
bno=0;

对于(i=1;inot可直接并行化,除了通过改变B[]中的存储位置,可能在之后打包以恢复原始布局。实际答案需要A以及这是什么语言。