You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Creating a simple SDFG from fortran and applying the LoopToMap transformation and then simplifying it leads to an invalid SDFG as memlets are out-of-bounds.
To Reproduce
Steps to reproduce the behavior:
Paste the following code into a file
fromdace.frontend.fortranimportfortran_parserfromdace.transformation.interstateimportLoopToMapdefmain():
code=""" PROGRAM foo IMPLICIT NONE REAL INP1(NBLOCKS, KLEV) INTEGER, PARAMETER :: KLEV = 137 INTEGER, PARAMETER :: NBLOCKS = 8 CALL foo_test_function(NBLOCKS, KLEV, INP1) END PROGRAM SUBROUTINE foo_test_function(NBLOCKS, KLEV, INP1) INTEGER, PARAMETER :: KLEV = 137 INTEGER, PARAMETER :: NBLOCKS = 1 REAL INP1(NBLOCKS, KLEV) DO JN=1,NBLOCKS DO JK=1,KLEV INP1(JN, JK) = (JN-1) * KLEV + (JK-1) ENDDO ENDDO END SUBROUTINE foo_test_function """sdfg=fortran_parser.create_sdfg_from_string(code, "test_loop_map_parallel")
sdfg.simplify()
sdfg.apply_transformations_repeated([LoopToMap])
sdfg.simplify()
if__name__=='__main__':
main()
Execute it
Expected behavior
Get a valid SDFG
The text was updated successfully, but these errors were encountered:
Describe the bug
Creating a simple SDFG from fortran and applying the LoopToMap transformation and then simplifying it leads to an invalid SDFG as memlets are out-of-bounds.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Get a valid SDFG
The text was updated successfully, but these errors were encountered: