使用 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
环境变量指定)添加两个向量(A
和 B
到 C
)并为每个线程分配一大块工作(在这个例子中,通过 schedule(static)
表达式静态分配)。
请参阅有关 private(i)
选项的备注部分。