Я понимаю общую идею о том, как работает планирование stati c, но меня смущает одна ситуация, когда в параллели OpenMP для l oop с планированием stati c, заданным размером порции и данным количество потоков, как компилятор будет распределять итерации между потоками, если количество потоков не делится поровну на количество итераций?
Например:
#pragma omp parallel for num_threads(4) schedule(static, 2)
for (int i = 0; i < 10; i++) {
Здесь есть параллель для l oop с 4 потоками, 10 итерациями и расписанием stati c с размером фрагмента 2. Будет ли компилятор распределяет итерации так, что количество итераций для каждого соответствующего потока будет выглядеть примерно как 3-3-2-2? Или это может быть любой тип распределения, такой как 2-2-3-3, 2-3-2-3, 3-2-2-3, et c.