0

我正在为我的项目使用 OpenMP 和 Visual Studio 2008。我的函数中有一个并行 for 循环,我想更新一个在并行区域中在此并行-for 之外定义的变量。由于我希望这些值在并行区域之后可用,因此我在 lastprivate() 子句中声明了该变量。但是在执行并行区域之后,我没有得到变量的任何值。以下是我的代码:

vector<string> resultParamsNames;
int count = 0;
        #pragma omp parallel for private(s,s_fa,measR1Value,c) firstprivate(count,paramNamesSet) lastprivate(resultParamsNames, count)
    for(int i = 0; i < 20; i++)
    {
        fitModel(model, t, c, inputFunctions, at, dt, resultParams, resultParamsNames, fittedCurve);
    }

在这里,“resultParamsNames”是我在并行区域中更新的变量。如何在并行区域之外获取此变量的值?

谢谢,拉克什。

4

0 回答 0