Открытый MP вызывает утечки памяти

Я пытаюсь распараллелить алгоритм динамического программирования в 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, или происходит что-то подозрительное?

0

Решение

Оказывается, проблем не было вообще. Это был дубликат проблемы, описанной здесь:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36298

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]