Итак, у меня есть эта часть кода.
#pragma omp parallel for num_threads(4)
for (it = 0; it < itime; it++){
for (i = 0; i < N; i++){
do something1..
for (j = 0; j < N; j++){
do something2..
}
}
do something3..
}
Цикл for со счетчиком it
повторяется 20 раз (0-19).
Значение N
не имеет значения в данный момент.
Что происходит, так это то, что итерации «распределены» по 4 потокам.
thread #0 gets [0,1,2,3,4]
thread #1 gets [5,6,7,8,9]
thread #2 gets [10,11,12,13,14]
thread #3 gets [15,16,17,18,19]
Все, что я хочу сделать, это распределить итерации в моем собственном порядке, например:
thread #0 [0,4,8,10,16]
и т.д ...
Есть ли способ, которым я могу добиться этого с помощью openmp?