@@ -816,7 +816,8 @@ def test_incs_no_atomic(self):
816816 # Now only `x` is parallelized
817817 op1 = Operator ([Eq (v [t , x , 0 , 0 ], v [t , x , 0 , 0 ] + 1 ), Inc (uf , 1 )],
818818 opt = ('advanced' , {'openmp' : True , 'par-collapse-ncores' : 1 }))
819- assert 'collapse(1)' in str (op1 )
819+ assert 'omp for' in str (op1 )
820+ assert 'collapse' not in str (op1 )
820821 assert 'atomic' not in str (op1 )
821822
822823 @pytest .mark .parametrize ('exprs,simd_level,expected' , [
@@ -879,18 +880,22 @@ def test_edge_cases(self, exprs, simd_level, expected):
879880 for i , e in enumerate (list (exprs )):
880881 exprs [i ] = eval (e )
881882
882- op = Operator (exprs , opt = ('advanced' , {'openmp' : True }))
883+ op = Operator (exprs , opt = ('advanced' , {'openmp' : True ,
884+ 'par-collapse-ncores' : 1 }))
883885
884886 iterations = FindNodes (Iteration ).visit (op )
887+ parallel = [i for i in iterations if i .is_Parallel ]
885888 try :
886- assert 'omp for collapse' in iterations [0 ].pragmas [0 ].value
889+ assert 'omp for' in iterations [0 ].pragmas [0 ].value
890+ if len (parallel ) > 1 and simd_level is not None and simd_level > 1 :
891+ assert 'collapse' in iterations [0 ].pragmas [0 ].value
887892 if simd_level :
888893 assert 'omp simd' in iterations [simd_level ].pragmas [0 ].value
889894 except :
890895 # E.g. gcc-5 doesn't support array reductions, so the compiler will
891896 # generate different legal code
892897 assert not Ompizer ._support_array_reduction (configuration ['compiler' ])
893- assert any ('omp for collapse ' in i .pragmas [0 ].value
898+ assert any ('omp for' in i .pragmas [0 ].value
894899 for i in iterations if i .pragmas )
895900
896901 op .apply ()
@@ -910,7 +915,7 @@ def test_simd_space_invariant(self):
910915 op = Operator (eq , opt = ('advanced' , {'openmp' : True }))
911916 iterations = FindNodes (Iteration ).visit (op )
912917
913- assert 'omp for collapse(1) schedule(static,1)' in iterations [0 ].pragmas [0 ].value
918+ assert 'omp for schedule(static,1)' in iterations [0 ].pragmas [0 ].value
914919 assert 'omp simd' in iterations [1 ].pragmas [0 ].value
915920 assert 'omp simd' in iterations [3 ].pragmas [0 ].value
916921
@@ -979,8 +984,8 @@ def test_basic(self):
979984 bns , _ = assert_blocking (op , {'x0_blk0' })
980985
981986 iterations = FindNodes (Iteration ).visit (bns ['x0_blk0' ])
982- assert iterations [0 ].pragmas [0 ].value == 'omp for collapse(1) schedule(dynamic,1)'
983- assert iterations [2 ].pragmas [0 ].value == ('omp parallel for collapse(1) '
987+ assert iterations [0 ].pragmas [0 ].value == 'omp for schedule(dynamic,1)'
988+ assert iterations [2 ].pragmas [0 ].value == ('omp parallel for '
984989 'schedule(dynamic,1) '
985990 'num_threads(nthreads_nested)' )
986991
@@ -1073,11 +1078,11 @@ def test_multiple_subnests_v1(self):
10731078 'omp for collapse(2) schedule(dynamic,1)'
10741079 assert not trees [0 ][2 ].pragmas
10751080 assert not trees [0 ][3 ].pragmas
1076- assert trees [0 ][4 ].pragmas [0 ].value == ('omp parallel for collapse(1) '
1081+ assert trees [0 ][4 ].pragmas [0 ].value == ('omp parallel for '
10771082 'schedule(dynamic,1) '
10781083 'num_threads(nthreads_nested)' )
10791084 assert not trees [1 ][2 ].pragmas
1080- assert trees [1 ][3 ].pragmas [0 ].value == ('omp parallel for collapse(1) '
1085+ assert trees [1 ][3 ].pragmas [0 ].value == ('omp parallel for '
10811086 'schedule(dynamic,1) '
10821087 'num_threads(nthreads_nested)' )
10831088
0 commit comments