У меня есть цикл for, выполнение которого занимает около 16 мс, и он выполняется условно под другим циклом for 500 раз.
Формат серийного кода выглядит следующим образом:
//Outer for loop
for(i=0;i<500;i++){
//read some entity
//some conditions
// some function calls
// some nested function calls
// inner for loop
for (j=0;some condition;j++){
// work on the entity read in outer for loop
}
}
Я хочу распараллелить внутренний цикл for. Возможно ли использование OpenMP для сокращения времени, необходимого для выполнения внутреннего цикла for, на 40% и, следовательно, общего времени, необходимого для запуска последовательного кода?
Я хочу общее сокращение времени выполнения кода. Распараллеливание внешнего цикла for в моем случае невозможно, так как код написан так, чтобы одновременно работать только с одной сущностью
это во внутренней для цикла.
Пожалуйста, помогите.
Спасибо!