В программе на OpenMP распараллелен следующий цикл, где выполнение функции f() может занимать существенно разное время в зависимости от значения входного аргумента#pragma omp for(i = 0; i < 1000; i++) с += func(i);
Каким образом можно добиться наилучшей балансировки вычислительной нагрузки между потоками?
(Отметьте один правильный вариант ответа.)
Варианты ответа
использовать статическое расписание вида #pragma omp for schedule(static, chunk). Значение chunk подобрать экспериментально
использовать динамическое расписание вида #pragma omp for schedule(dynamic, chunk). Значение chunk взять равным 10
средствами OpenMP балансировку улучшить невозможно
использовать статическое расписание вида #pragma omp for schedule(static, chunk). Значение chunk взять равным 10
использовать динамическое расписание вида #pragma omp for schedule(dynamic, chunk). Значение chunk подобрать экспериментально(Верный ответ)