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