Относительно оператора коллапса, здесь приводится хорошее объяснение: Понимание предложения коллапса в openmp .Как указано в ответе, предложение collapse будет работать только в том случае, если внутренний цикл не зависит от внешнего, который в вашем случае, по-видимому, не сохраняется, поскольку размер вектора не обязательно будет одинаковым для всех значений i
.
К сожалению, у меня пока нет репутации оставлять комментарии, поэтому я прибегну к публикации здесь, хотя это не совсем связано с первоначальным вопросом.
Вы, похоже, распараллеливаете цикл с довольно простыми инструкциями, очень вероятно, что потоки будут тратить значительное количество времени на ожидание вокруг этой критической области.Хотя я предполагаю, что именно для этого будет использоваться local_relevant_points
.