Я бы хотел использовать OpenMP для распараллеливания операций на 2-мерной сетке, где каждый поток будет работать с подразделом сетки.
Представьте себе функцию f(lower,upper,grid)
, которая будет обрабатывать подраздел, учитывая его нижнюю и верхнюю границы (предположим, что нижняя и верхняя относятся к одной из осей сетки).
У меня вопрос: можно ли позвонить f
без явного вычисления lower
и upper
?
Например, если у меня есть цикл for, OpenMP автоматически разделит цикл между потоками. Есть ли способ заставить OpenMP разделить диапазон и выделить куски диапазона в f
?
Спасибо!
Обновление:
Чтобы уточнить, был ли у меня цикл for:
#pragma omp parallel for
for(int i=0;i<50;i++)
OpenMP разделил бы цикл for. То, что я хотел бы знать, сродни знанию того, как был разделен цикл for.