0

このアプローチを使用して、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;
    }

ただし、これにより、valgrind がメモリ リークについて不平を言うようになります。openMP の使用方法を誤解していますか、それとも怪しいことが起こっていますか?

4

1 に答える 1

1

まったく問題がなかったことがわかりました。これは、ここで説明されている問題の複製でした: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36298

于 2012-10-03T18:45:17.663 に答える