Преимущества использования директивы reduction перед обычными циклами в OpenMP заключаются в эффективном суммировании (вычитании, умножении, делении) значений, вычисляемых в разных телах распараллеленного цикла. 1
Например, с её помощью можно найти сумму элементов массива в цикле по индексу элемента массива. 1 В параллельных нитях используются свои копии указанной переменной, а после выполнения цикла для всех локальных копий переменной выполняется указанная операция. 1
Также директива reduction позволяет собрать вместе в главном потоке результаты вычислений частичных сумм, разностей и т. п. из параллельных потоков последующего параллельного структурного блока. 3 После завершения всех параллельных процессов частичные значения складываются (вычитаются, перемножаются и т. п.), и результат сохраняется в одноимённой общей переменной. 3