使用 OpenMP 并行添加两个向量用于构造

void parallelAddition (unsigned N, const double *A, const double *B, double *C)
{
    unsigned i;

    #pragma omp parallel for shared (A,B,C,N) private(i) schedule(static)
    for (i = 0; i < N; ++i)
    {
        C[i] = A[i] + B[i];
    }
}

这个例子通过产生一组线程(例如由 OMP_NUM_THREADS 环境变量指定)添加两个向量(ABC)并为每个线程分配一大块工作(在这个例子中,通过 schedule(static) 表达式静态分配)。

请参阅有关 private(i) 选项的备注部分。