Open rolfhm opened 11 months ago
Hi Rolf,
thanks for this, I share your assessment. I think what you need here is to apply the resolve_vector_notation
utility as part of the housekeeping in the beginning:
https://github.com/ecmwf-ifs/loki/blob/37d0033ea165985fb35cec2273067024af8e1e11/loki/transform/transform_array_indexing.py#L82
That should replace the vector notation by an explicit horizontal loop, and, as a consequence, then be handled correctly in the de- and re-vectorizing during SCC.
Should that routine be called by the transformation script for all transformations?
If you have something like
Running the pool_allocator transformation will give you something like
I assume this has nothing to do with the pool_allocator and is due to the transformation that tries to merge jlon loops failing to replace the range index with a jlon? Small example can be found in ac_cloud_model2.F90 here: https://github.com/rolfhm/minimal_test/tree/pool_infinite_recursion