使用 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)
選項的備註部分。