Из того, что я понимаю, #pragma omp parallel
и его вариации в основном выполняют следующий блок в ряде параллельных потоков, что соответствует числу ЦП. Когда вложенные распараллеливания - параллельные для параллельных, параллельная функция внутри параллельной функции и т.д. - что происходит при внутренней распараллеливании?
Я новичок в OpenMP, и случай, который я имею в виду, вероятно, довольно тривиален - умножение вектора с матрицей. Это делается в двух вложенных циклах. Предполагая, что количество процессоров меньше числа элементов в векторе, есть ли какая-либо польза при попытке запустить внутренний цикл параллельно? Будет ли общее число потоков больше, чем количество процессоров, или будет выполняться внутренний цикл?