diff --git a/sumpy/p2p.py b/sumpy/p2p.py index b0f15abb67f100c95dc8ab4b269441134e59e9cb..874fd1aefb5340e62a5a3ffdee7ba09fb233e0e5 100644 --- a/sumpy/p2p.py +++ b/sumpy/p2p.py @@ -131,7 +131,7 @@ class P2P(P2PBase): """] + loopy_insns + [""" <> d[idim] = targets[idim,itgt] - sources[idim,isrc] """] + [""" - <> is_self = (source_to_target[isrc] == itgt) + <> is_self = (isrc == target_to_source[itgt]) """ if self.exclude_self else ""] + [ lp.Assignment(id=None, assignee="pair_result_%d" % i, expression=expr, @@ -158,7 +158,7 @@ class P2P(P2PBase): lp.GlobalArg("result", None, shape="nresults,ntargets", dim_tags="sep,C") ] + ( - [lp.GlobalArg("source_to_target", np.int32, shape=("nsources",))] + [lp.GlobalArg("target_to_source", np.int32, shape=("ntargets",))] if self.exclude_self else [] ) + gather_loopy_source_arguments(self.kernels), name=self.name, @@ -255,7 +255,7 @@ class P2PFromCSR(P2PBase): targets[idim,itgt] - sources[idim,isrc] \ {dup=idim} """] + [""" - <> is_self = (source_to_target[isrc] == itgt) + <> is_self = (isrc == target_to_source[itgt]) """ if self.exclude_self else ""] + [ ] + loopy_insns + [ lp.Assignment(id=None, @@ -292,7 +292,7 @@ class P2PFromCSR(P2PBase): lp.ValueArg("ntargets", np.int32), "...", ] + ( - [lp.GlobalArg("source_to_target", np.int32, shape=("nsources",))] + [lp.GlobalArg("target_to_source", np.int32, shape=("ntargets",))] if self.exclude_self else [] ) + gather_loopy_source_arguments(self.kernels), name=self.name, assumptions="ntgt_boxes>=1") diff --git a/sumpy/version.py b/sumpy/version.py index be874f65b3e22b32ad34f07f49670b51f8e32f5d..f0497a83b01f992cea2293bddf4b04a64fbe3702 100644 --- a/sumpy/version.py +++ b/sumpy/version.py @@ -25,4 +25,4 @@ VERSION = (2016, 1) VERSION_STATUS = "beta1" VERSION_TEXT = ".".join(str(x) for x in VERSION) + VERSION_STATUS -KERNEL_VERSION = 13 +KERNEL_VERSION = 14 diff --git a/test/test_fmm.py b/test/test_fmm.py index acfcb2fa50c04311d2831d350b14064d80086c19..b8132f6fd34a3ff3d8783f63c2f4278498fcd3d5 100644 --- a/test/test_fmm.py +++ b/test/test_fmm.py @@ -254,8 +254,8 @@ def test_sumpy_fmm_exclude_self(ctx_getter): rng = PhiloxGenerator(ctx) weights = rng.uniform(queue, nsources, dtype=np.float64) - source_to_target = np.arange(tree.nsources, dtype=np.int32) - self_extra_kwargs = {"source_to_target": source_to_target} + target_to_source = np.arange(tree.ntargets, dtype=np.int32) + self_extra_kwargs = {"target_to_source": target_to_source} out_kernels = [knl] diff --git a/test/test_kernels.py b/test/test_kernels.py index b7b51e7ddc0646b6c50bc97b15dbfd2517700d2b..c32435d3d30cbf49e924dd7de4a89a7d0784fcee 100644 --- a/test/test_kernels.py +++ b/test/test_kernels.py @@ -79,7 +79,7 @@ def test_p2p(ctx_getter, exclude_self): extra_kwargs = {} if exclude_self: - extra_kwargs["source_to_target"] = np.arange(n, dtype=np.int32) + extra_kwargs["target_to_source"] = np.arange(n, dtype=np.int32) evt, (potential, x_derivative) = knl( queue, targets, sources, [strengths],