openmp依赖于连续的向量元素

时间:2017-07-09 23:56:04

标签: 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[i-1][k]) == 1) 
                B[bno++]=C[i][j];

1 个答案:

答案 0 :(得分:0)

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

"^(?=[^A-Za-z0-9]*[A-Za-z0-9])[A-Za-z0-9\\/@.,# _-]*$"

例如,对于以下输入: A [4] [3] = [
7,8,9,
1,2,8,10,5,6,6,5,5] 输出应为:B = [8,6,6,5],bno = 4。