打开 MP 导致内存泄漏

Open MP causing memory leaks

本文关键字:内存 泄漏 MP 打开      更新时间:2023-10-16

我正在尝试并行化 C++11 中的动态规划算法使用此方法:

void buildBaseCases() {
        cout << "Building base cases" << endl;
            for (unsigned int i = 0; i < BOARD_SIZE; ++i)
            {
                buildBaseCase(i);
            }
        cout << "Done building base cases" << endl;
    }

因此,我的并行化版本大致如下:

void buildBaseCases() {
        cout << "Building base cases" << endl;
        #pragma omp parallel
        {
            #pragma omp for
            for (unsigned int i = 0; i < BOARD_SIZE; ++i)
            {
                buildBaseCase(i);
            }
        }
        cout << "Done building base cases" << endl;
    }

然而,这导致瓦尔格林德抱怨内存泄漏。我是否误解了您应该使用 openMP 的方式,还是发生了一些可疑的事情?

事实证明根本没有问题。这是此处描述的问题的副本:http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36298