Я пытаюсь распараллелить мою программу, используя OpenMP, и иногда мне кажется, что я захожу в тупик.
Я хотел бы поделиться переменными в элементе функции, который я определил (и инициализировал) в классе,Если я правильно понял, невозможно сделать #pragma omp parallel shared(foo)
членов данных (например, int
, boost::multi_array
и std::vector
) класса.Например: использование push_back () для члена векторных данных в классе.Обновление значений boost::multi_array
.
Мой вопрос, является ли OpenMP подходящим инструментом для него, или я должен использовать boost :: thread или tbb?или что-то еще ... что поддерживает C ++ API
Reagrds