From a9e7bb198078414bb5fd18d67c0dc55b625769fb Mon Sep 17 00:00:00 2001 From: Alexandru Fikl <alexfikl@gmail.com> Date: Mon, 11 Apr 2022 15:12:22 -0500 Subject: [PATCH] m2l: add dependencies for inlined e2e kernel --- sumpy/e2e.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sumpy/e2e.py b/sumpy/e2e.py index 8bcd346e..eba1e581 100644 --- a/sumpy/e2e.py +++ b/sumpy/e2e.py @@ -424,8 +424,9 @@ class M2LUsingTranslationClassesDependentData(E2EFromCSR): {id=read_src_ibox} <> translation_class = \ m2l_translation_classes_lists[isrc_box] - <> translation_class_rel = translation_class - \ - translation_classes_level_start + <> translation_class_rel = \ + translation_class - translation_classes_level_start \ + {id=translation_offset} [icoeff_tgt]: coeffs[icoeff_tgt] = e2e( [icoeff_tgt]: coeffs[icoeff_tgt], [icoeff_src]: src_expansions[src_ibox - src_base_ibox, @@ -465,7 +466,7 @@ class M2LUsingTranslationClassesDependentData(E2EFromCSR): offset=lp.auto), lp.ValueArg("ntranslation_classes, ntranslation_classes_lists", np.int32), - "..." + ... ] + gather_loopy_arguments([self.src_expansion, self.tgt_expansion]), name=self.name, @@ -481,6 +482,10 @@ class M2LUsingTranslationClassesDependentData(E2EFromCSR): loopy_knl = lp.merge([translation_knl, loopy_knl]) loopy_knl = lp.inline_callable_kernel(loopy_knl, "e2e") + loopy_knl = lp.add_dependency( + loopy_knl, "id:e2e_insn*", "read_src_ibox") + loopy_knl = lp.add_dependency( + loopy_knl, "id:e2e_insn*", "translation_offset") for knl in [self.src_expansion.kernel, self.tgt_expansion.kernel]: loopy_knl = knl.prepare_loopy_kernel(loopy_knl) -- GitLab