Skip to content
Snippets Groups Projects

Workaround for the CCE 17 requiring explicit copy for reduction variables

Merged Claudia Frauen requested to merge workaround_gpu_reductions_cray into master
+ 2
2
@@ -1785,7 +1785,7 @@ CONTAINS
@@ -1785,7 +1785,7 @@ CONTAINS
minval_1d = HUGE(minval_1d)
minval_1d = HUGE(minval_1d)
!$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) ASYNC(1) REDUCTION(MIN: minval_1d) IF(lacc)
!$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) ASYNC(1) REDUCTION(MIN: minval_1d) IF(lzacc) COPY(minval_1d)
DO i = 1, s1
DO i = 1, s1
minval_1d = MIN(minval_1d, var(i)) ! The loop is equivalent to MINVAL(var(:))
minval_1d = MIN(minval_1d, var(i)) ! The loop is equivalent to MINVAL(var(:))
END DO
END DO
@@ -1813,7 +1813,7 @@ CONTAINS
@@ -1813,7 +1813,7 @@ CONTAINS
minval_2d = HUGE(minval_2d)
minval_2d = HUGE(minval_2d)
!$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) ASYNC(1) REDUCTION(MIN: minval_2d) IF(lacc)
!$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) ASYNC(1) REDUCTION(MIN: minval_2d) IF(lzacc) COPY(minval_2d)
DO j = 1, s2
DO j = 1, s2
DO i = 1, s1
DO i = 1, s1
minval_2d = MIN(minval_2d, var(i, j)) ! The loop is equivalent to MINVAL(var(:,:))
minval_2d = MIN(minval_2d, var(i, j)) ! The loop is equivalent to MINVAL(var(:,:))
Loading