Skip to content

Commit 84fd474

Browse files
committed
Fix GenASiS patch file and Makefile after latest GenASiS code changes.
1 parent 0e362df commit 84fd474

2 files changed

Lines changed: 76 additions & 87 deletions

File tree

bin/Makefile_ROCmFlangNew

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ endif
5555
ifeq ($(ENABLE_OMP_OFFLOAD), 1)
5656
OFFLOAD_TRIPLE = amdgcn-amd-amdhsa
5757
OFFLOAD_ARCH = $(GPU_ID)
58-
DEFINES += -DENABLE_OMP_OFFLOAD --offload-arch=$(OFFLOAD_ARCH)
58+
DEFINES += -DENABLE_OMP_OFFLOAD --offload-arch=$(OFFLOAD_ARCH) -DOMP_SCHEDULE_HOST=runtime -DOMP_SCHEDULE_TARGET=auto
5959
endif
6060
ifeq ($(ENABLE_HIP), 1)
6161
DEVICE_COMPILE ?= $(HIP_DIR)/bin/hipcc -c -D__HIP_PLATFORM_AMD__

bin/patches/genasis.patch

Lines changed: 75 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,8 @@
11
diff --git a/Modules/Basics/DataManagement/ArrayOperations/Clear_Command.f90 b/Modules/Basics/DataManagement/ArrayOperations/Clear_Command.f90
2-
index eba18541..6d430130 100644
2+
index 50c61e0d..642deea9 100644
33
--- a/Modules/Basics/DataManagement/ArrayOperations/Clear_Command.f90
44
+++ b/Modules/Basics/DataManagement/ArrayOperations/Clear_Command.f90
5-
@@ -49,9 +49,9 @@ contains
6-
integer ( KDI ), dimension ( : ), intent ( out ) :: &
7-
A
8-
9-
- !$OMP parallel workshare
10-
+! !$OMP parallel workshare
11-
A = 0_KDI
12-
- !$OMP end parallel workshare
13-
+! !$OMP end parallel workshare
14-
15-
end subroutine ClearInteger_1D
16-
17-
@@ -61,9 +61,9 @@ contains
18-
integer ( KDI ), dimension ( :, : ), intent ( out ) :: &
19-
A
20-
21-
- !$OMP parallel workshare
22-
+! !$OMP parallel workshare
23-
A = 0_KDI
24-
- !$OMP end parallel workshare
25-
+! !$OMP end parallel workshare
26-
27-
end subroutine ClearInteger_2D
28-
29-
@@ -73,9 +73,9 @@ contains
5+
@@ -108,9 +108,9 @@ contains
306
integer ( KDI ), dimension ( :, :, : ), intent ( out ) :: &
317
A
328

@@ -39,22 +15,10 @@ index eba18541..6d430130 100644
3915
end subroutine ClearInteger_3D
4016

4117
diff --git a/Modules/Basics/DataManagement/ArrayOperations/Copy_Command.f90 b/Modules/Basics/DataManagement/ArrayOperations/Copy_Command.f90
42-
index e2f7ae74..0ea9ace6 100644
18+
index 780f5efe..aef1f570 100644
4319
--- a/Modules/Basics/DataManagement/ArrayOperations/Copy_Command.f90
4420
+++ b/Modules/Basics/DataManagement/ArrayOperations/Copy_Command.f90
45-
@@ -63,9 +63,9 @@ contains
46-
integer ( KDI ), dimension ( : ), intent ( out ) :: &
47-
B
48-
49-
- !$OMP parallel workshare
50-
+! !$OMP parallel workshare
51-
B = A
52-
- !$OMP end parallel workshare
53-
+! !$OMP end parallel workshare
54-
55-
end subroutine CopyInteger_1D
56-
57-
@@ -183,9 +183,9 @@ contains
21+
@@ -217,9 +217,9 @@ contains
5822
integer ( KBI ), dimension ( : ), intent ( out ) :: &
5923
B
6024

@@ -66,48 +30,6 @@ index e2f7ae74..0ea9ace6 100644
6630

6731
end subroutine CopyBigInteger_1D
6832

69-
diff --git a/Modules/Basics/Display/CONSOLE_Singleton.f90 b/Modules/Basics/Display/CONSOLE_Singleton.f90
70-
index 2f8cd18a..aa5b4ac0 100644
71-
--- a/Modules/Basics/Display/CONSOLE_Singleton.f90
72-
+++ b/Modules/Basics/Display/CONSOLE_Singleton.f90
73-
@@ -18,7 +18,7 @@ module CONSOLE_Singleton
74-
logical ( KDL ) :: &
75-
Muted = .false.
76-
procedure ( AbortInterface ), nopass, pointer :: &
77-
- Abort => null ( )
78-
+ Abort
79-
contains
80-
procedure, public, nopass :: &
81-
Initialize
82-
@@ -180,7 +180,7 @@ contains
83-
end subroutine Unmute
84-
85-
86-
- elemental subroutine Finalize ( C )
87-
+ impure elemental subroutine Finalize ( C )
88-
89-
type ( ConsoleSingleton ), intent ( inout ) :: &
90-
C
91-
diff --git a/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90 b/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90
92-
index a2d813c..335e77b 100644
93-
--- a/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90
94-
+++ b/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90
95-
@@ -104,8 +104,14 @@ contains
96-
VZ = K ( 3 ) / ( dot_product ( K, K ) * Period )
97-
98-
end associate !-- K
99-
100-
+#ifdef ENABLE_OMP_OFFLOAD
101-
+ call PF % UpdateDevice ( )
102-
+#endif
103-
call PF % ComputeAuxiliary ( PF % Value )
104-
call PF % ComputeConserved ( PF % Value )
105-
+#ifdef ENABLE_OMP_OFFLOAD
106-
+ call PF % UpdateHost ( )
107-
+#endif
108-
109-
!-- FIXME: Implicit do-loop array needed to workaround Cray compiler
110-
! crashes for elemental function argument of array and scalar
11133
diff --git a/Modules/Basics/Devices/Device_HIP.c b/Modules/Basics/Devices/Device_HIP.c
11234
index cd2c80a4..1aaed77d 100644
11335
--- a/Modules/Basics/Devices/Device_HIP.c
@@ -116,17 +38,17 @@ index cd2c80a4..1aaed77d 100644
11638
+#ifndef USE_OPENMP_RUNTIME
11739
#include <stdlib.h>
11840
#include <stdio.h>
119-
41+
12042
@@ -86,3 +87,4 @@ int DeviceMemGetInfo_Device ( size_t * Free, size_t * Total )
12143
return -1;
12244
#endif
12345
}
12446
+#endif
12547
diff --git a/Modules/Basics/Devices/Device_OMP.c b/Modules/Basics/Devices/Device_OMP.c
126-
index abccbb8d..0aca89fb 100644
48+
index 7e1cd61a..3524170f 100644
12749
--- a/Modules/Basics/Devices/Device_OMP.c
12850
+++ b/Modules/Basics/Devices/Device_OMP.c
129-
@@ -220,3 +220,54 @@ bool OffloadEnabled ( )
51+
@@ -277,3 +277,54 @@ bool OffloadEnabled ( )
13052
return false;
13153
#endif
13254
}
@@ -181,4 +103,71 @@ index abccbb8d..0aca89fb 100644
181103
+ return -1;
182104
+ }
183105
+#endif
184-
106+
diff --git a/Modules/Basics/Display/CONSOLE_Singleton.f90 b/Modules/Basics/Display/CONSOLE_Singleton.f90
107+
index 2f8cd18a..aa5b4ac0 100644
108+
--- a/Modules/Basics/Display/CONSOLE_Singleton.f90
109+
+++ b/Modules/Basics/Display/CONSOLE_Singleton.f90
110+
@@ -18,7 +18,7 @@ module CONSOLE_Singleton
111+
logical ( KDL ) :: &
112+
Muted = .false.
113+
procedure ( AbortInterface ), nopass, pointer :: &
114+
- Abort => null ( )
115+
+ Abort
116+
contains
117+
procedure, public, nopass :: &
118+
Initialize
119+
@@ -180,7 +180,7 @@ contains
120+
end subroutine Unmute
121+
122+
123+
- elemental subroutine Finalize ( C )
124+
+ impure elemental subroutine Finalize ( C )
125+
126+
type ( ConsoleSingleton ), intent ( inout ) :: &
127+
C
128+
diff --git a/Programs/Examples/Basics/FluidDynamics/DistributedMesh_Form.f90 b/Programs/Examples/Basics/FluidDynamics/DistributedMesh_Form.f90
129+
index ae459491..79f1ce92 100644
130+
--- a/Programs/Examples/Basics/FluidDynamics/DistributedMesh_Form.f90
131+
+++ b/Programs/Examples/Basics/FluidDynamics/DistributedMesh_Form.f90
132+
@@ -478,6 +478,8 @@ contains
133+
nGhostOuter, &
134+
nExteriorInner, &
135+
nExteriorOuter
136+
+ integer ( KDI ), dimension ( 1 ) :: &
137+
+ nProperCellsBrickCurve
138+
type ( Real_1D_Form ), dimension ( MAX_N_DIMENSIONS ) :: &
139+
Edge
140+
character ( LDF ) :: &
141+
@@ -527,10 +529,12 @@ contains
142+
143+
case ( 1 )
144+
145+
+ nProperCellsBrickCurve ( 1 ) = DM % nCellsPerBrick ( 1 )
146+
associate ( CI => DM % CurveImage )
147+
call CI % Initialize ( GIS )
148+
call CI % SetGridWrite &
149+
- ( 'Curves', Edge ( 1 ), DM % nProperCells, &
150+
+ ( 'Curves', Edge ( 1 ), nProperCellsBrickCurve, &
151+
+ DM % nProperCells, &
152+
oValue = nGhostInner ( 1 ) + nExteriorInner ( 1 ), &
153+
CoordinateUnitOption = DM % CoordinateUnit ( 1 ) )
154+
do iS = 1, size ( Output )
155+
diff --git a/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90 b/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90
156+
index a2d813c4..580d9abc 100644
157+
--- a/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90
158+
+++ b/Programs/Examples/Basics/FluidDynamics/PlaneWaveAdvection_Template.f90
159+
@@ -103,8 +103,14 @@ contains
160+
161+
end associate !-- K
162+
163+
+#ifdef ENABLE_OMP_OFFLOAD
164+
+ call PF % UpdateDevice ( )
165+
+#endif
166+
call PF % ComputeAuxiliary ( PF % Value )
167+
call PF % ComputeConserved ( PF % Value )
168+
+#ifdef ENABLE_OMP_OFFLOAD
169+
+ call PF % UpdateHost ( )
170+
+#endif
171+
172+
!-- FIXME: Implicit do-loop array needed to workaround Cray compiler
173+
! crashes for elemental function argument of array and scalar

0 commit comments

Comments
 (0)