diff --git a/pyop2/codegen/rep2loopy.py b/pyop2/codegen/rep2loopy.py index 39c1e2d790..516ecf0bfd 100644 --- a/pyop2/codegen/rep2loopy.py +++ b/pyop2/codegen/rep2loopy.py @@ -546,6 +546,14 @@ def renamer(expr): assumptions = assumptions & pwaffd[parameters.layer_start].le_set(pwaffd[parameters.layer_end]) assumptions = reduce(operator.and_, assumptions.get_basic_sets()) + # Even though we think we are setting loop priorities correctly here, loopy cannot + # use its new scheduler and raises a warning stating that there are + # "loop priority dependencies between sibling loop nests". + # See https://github.com/inducer/loopy/issues/890. + # Therefore until loopy fixes this we disable this warning and use the old (slower) + # scheduling algorithm. + silenced_warnings = ["v1_scheduler_fallback"] + wrapper = loopy.make_kernel(domains, statements, kernel_data=parameters.kernel_data, @@ -556,7 +564,8 @@ def renamer(expr): assumptions=assumptions, lang_version=(2018, 2), name=wrapper_name, - loop_priority=loop_priorities) + loop_priority=loop_priorities, + silenced_warnings=silenced_warnings) # register kernel kernel = builder.kernel