Skip to content
Snippets Groups Projects
Commit 2cdb6a96 authored by Tuomas Lunttila's avatar Tuomas Lunttila Committed by Yen-Chen Chen
Browse files

Add OpenACC collapse clause to a nested loop (!105)


## What is the new feature
Improve `minval_2d` performance.
## How is it implemented
Add COLLAPSE(2) to a nested loop in minval_2d to improve performance.

Approved-by: default avatarYen-Chen Chen <yen-chen.chen@kit.edu>
Merged-by: default avatarYen-Chen Chen <yen-chen.chen@kit.edu>
Changelog: feature
parent cde3e258
No related branches found
No related tags found
1 merge request!105Add OpenACC collapse clause to a nested loop
Pipeline #94046 passed
...@@ -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(lzacc) COPY(minval_2d) !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) ASYNC(1) COLLAPSE(2) 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(:,:))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment