Задать вопрос

Как задать несколько операций в reduction OpenMP?

Можно ли как-то сократить такой код?
double tmp = 0;
#pragma omp parallel
    {
#pragma omp for reduction(+:tmp)
        for (int i = 0; i < N; ++i) {
            tmp += i * i;
        }

#pragma omp single
        {
            tmp = sqrt(tmp);
        }
    } //end #pragma omp parallel


То есть, можно ли как-то задать в reduction несколько операций/функций, которые необходимо выполнить над переменной в конце?
  • Вопрос задан
  • 246 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы