У меня уже открыта параллельная область OMP, и, в зависимости от некоторых прошлых измерений, я хочу решить, выполняю ли я функцию параллельно или последовательно.
Сама функция содержит omp для циклов и omp Single, что создает барьеры.
Существует простой способ дублировать функцию: одну для параллельного выполнения, другую для последовательного выполнения. Но это то, что я хочу опустить.
Есть ли способ добиться этого?
Думаю, я могу сделать это с помощью обширной магии препроцессора, но тогда код становится достаточно запутанным, чтобы этого не делать...
Вот пример кода:
void callMethod()
{
#pragma omp for
for (int i=0; i
Подробнее здесь: https://stackoverflow.com/questions/786 ... n-possible