Skip to content

Commit

Permalink
Merge pull request #2388 from stfc/2323_new_maxval_implementation
Browse files Browse the repository at this point in the history
Improved maxval, minval and sum to code transformation (closes #2323)
  • Loading branch information
sergisiso authored Nov 30, 2023
2 parents d4091c3 + 41ebd55 commit 9ffa2f4
Show file tree
Hide file tree
Showing 19 changed files with 1,640 additions and 1,612 deletions.
3 changes: 3 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@
parsing kernels using kernel_interface.py. This is required when
validating LFRic kernel arguments.

31) PR #2388 for #2323. Rename the array reduction 2code transformations
to use the 2loop postfix and improve their implementation.

release 2.4.0 29th of September 2023

1) PR #1758 for #1741. Splits the PSyData read functionality into a
Expand Down
12 changes: 9 additions & 3 deletions doc/user_guide/transformations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ can be found in the API-specific sections).

####

.. autoclass:: psyclone.psyir.transformations.Maxval2CodeTrans
.. autoclass:: psyclone.psyir.transformations.Maxval2LoopTrans
:members: apply
:noindex:

Expand All @@ -299,7 +299,7 @@ can be found in the API-specific sections).

####

.. autoclass:: psyclone.psyir.transformations.Minval2CodeTrans
.. autoclass:: psyclone.psyir.transformations.Minval2LoopTrans
:members: apply
:noindex:

Expand Down Expand Up @@ -412,6 +412,12 @@ can be found in the API-specific sections).

####

.. autoclass:: psyclone.psyir.transformations.Product2LoopTrans
:members: apply
:noindex:

####

.. autoclass:: psyclone.psyir.transformations.ProfileTrans
:members: apply
:noindex:
Expand Down Expand Up @@ -449,7 +455,7 @@ can be found in the API-specific sections).

####

.. autoclass:: psyclone.psyir.transformations.Sum2CodeTrans
.. autoclass:: psyclone.psyir.transformations.Sum2LoopTrans
:members: apply
:noindex:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ def validate(self, node, options=None):

# Is the Range node the outermost Range (as if not, the
# transformation would be invalid)?
for child in node.parent.indices[node.parent.indices.index(node)+1:]:
for child in node.parent.indices[node.position+1:]:
if isinstance(child, Range):
raise TransformationError(
"Error in NemoArrayRange2LoopTrans transformation. This "
Expand Down
19 changes: 12 additions & 7 deletions src/psyclone/psyir/transformations/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,16 @@
Matmul2CodeTrans
from psyclone.psyir.transformations.intrinsics.max2code_trans import \
Max2CodeTrans
from psyclone.psyir.transformations.intrinsics.maxval2code_trans import \
Maxval2CodeTrans
from psyclone.psyir.transformations.intrinsics.maxval2loop_trans import \
Maxval2LoopTrans
from psyclone.psyir.transformations.intrinsics.min2code_trans import \
Min2CodeTrans
from psyclone.psyir.transformations.intrinsics.minval2code_trans import \
Minval2CodeTrans
from psyclone.psyir.transformations.intrinsics.minval2loop_trans import \
Minval2LoopTrans
from psyclone.psyir.transformations.intrinsics.sign2code_trans import \
Sign2CodeTrans
from psyclone.psyir.transformations.intrinsics.sum2code_trans import \
Sum2CodeTrans
from psyclone.psyir.transformations.intrinsics.sum2loop_trans import \
Sum2LoopTrans
from psyclone.psyir.transformations.loop_fuse_trans import LoopFuseTrans
from psyclone.psyir.transformations.loop_swap_trans import LoopSwapTrans
from psyclone.psyir.transformations.loop_tiling_2d_trans \
Expand All @@ -88,6 +88,8 @@
from psyclone.psyir.transformations.omp_task_trans import OMPTaskTrans
from psyclone.psyir.transformations.parallel_loop_trans import \
ParallelLoopTrans
from psyclone.psyir.transformations.intrinsics.product2loop_trans import \
Product2LoopTrans
from psyclone.psyir.transformations.profile_trans import ProfileTrans
from psyclone.psyir.transformations.psy_data_trans import PSyDataTrans
from psyclone.psyir.transformations.read_only_verify_trans \
Expand Down Expand Up @@ -115,17 +117,20 @@
'Max2CodeTrans',
'Min2CodeTrans',
'Sign2CodeTrans',
'Sum2CodeTrans',
'Sum2LoopTrans',
'LoopFuseTrans',
'LoopSwapTrans',
'LoopTiling2DTrans',
'LoopTrans',
'Maxval2LoopTrans',
'Minval2LoopTrans',
'NanTestTrans',
'OMPLoopTrans',
'OMPTargetTrans',
'OMPTaskTrans',
'OMPTaskwaitTrans',
'ParallelLoopTrans',
'Product2LoopTrans',
'ProfileTrans',
'PSyDataTrans',
'ReadOnlyVerifyTrans',
Expand Down
Loading

0 comments on commit 9ffa2f4

Please sign in to comment.