0
我试图在并行使用这种方法的C++ 11 动态规划算法:打开MP导致内存泄漏
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的方式,还是有什么可怕的事情发生?
buildBaseCase中发生了什么?你在哪里清理? – slugonamission
由于我刚刚设置了骨架,buildBaseCase是空的。 – ansjob