У меня есть тензор Tijkl, который я хочу заполнить, и я хочу использовать симметрию Tijkl = Tijlk = Tjikl = Tjilk и распараллелить l oop для ее заполнения.
#pragma omp for collapse(4)
for (int i=0; i<Na; i++){
for (int j=0; j<Na; j++{
for (int k=0; k<Nb; k++){
for (int l=0; l<Nb; l++){
fill Tijkl
}
}
}
}
Я могу либо выполнить заполнение tri angular, где я ограничиваю индексы j и l, чтобы они были больше или равны i, k соответственно, но тогда я не могу использовать предложение collapse из openmp. Есть ли способ сделать оба?