diff --git a/requirements.txt b/requirements.txt index 42ee76a79a7fd76d7edafd9308b3f09f3cc5f5e6..5320632481f24ecac2d4bbb06e8d24b2c33dee7e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,6 @@ git+https://github.com/inducer/pytools#egg=pytools git+https://github.com/inducer/pymbolic#egg=pymbolic git+https://github.com/inducer/islpy#egg=islpy git+https://github.com/inducer/pyopencl#egg=pyopencl -git+https://github.com/inducer/boxtree#egg=boxtree +git+https://github.com/isuruf/boxtree@multi_p2e#egg=boxtree git+https://github.com/inducer/loopy#egg=loo.py git+https://github.com/inducer/pyfmmlib#egg=pyfmmlib diff --git a/sumpy/fmm.py b/sumpy/fmm.py index 157bd5f53179cc5dc5451a8c5005548f5537297a..cb35fb53113bbc7f574d8840f80d535c1cf6b43c 100644 --- a/sumpy/fmm.py +++ b/sumpy/fmm.py @@ -372,7 +372,7 @@ class SumpyExpansionWrangler: self.queue, source_boxes=source_boxes[start:stop], centers=self.tree.box_centers, - strengths=(src_weights,), + strengths=src_weights, tgt_expansions=mpoles_view, tgt_base_ibox=level_start_ibox, @@ -457,7 +457,7 @@ class SumpyExpansionWrangler: target_boxes=target_boxes, source_box_starts=source_box_starts, source_box_lists=source_box_lists, - strength=(src_weights,), + strength=src_weights, result=pot, **kwargs) @@ -588,7 +588,7 @@ class SumpyExpansionWrangler: source_box_starts=starts[start:stop+1], source_box_lists=lists, centers=self.tree.box_centers, - strengths=(src_weights,), + strengths=src_weights, tgt_expansions=target_local_exps_view, tgt_base_ibox=target_level_start_ibox, diff --git a/test/test_fmm.py b/test/test_fmm.py index 45c17c38fb42fa6aad21001fed896bb530491ff4..73fd236ce29b7ff8445af9440efa17f4e7ab89ec 100644 --- a/test/test_fmm.py +++ b/test/test_fmm.py @@ -179,7 +179,7 @@ def test_sumpy_fmm(ctx_factory, knl, local_expn_class, mpole_expn_class): from boxtree.fmm import drive_fmm - pot, = drive_fmm(trav, wrangler, weights) + pot, = drive_fmm(trav, wrangler, (weights,)) from sumpy import P2P p2p = P2P(ctx, out_kernels, exclude_self=False) @@ -249,7 +249,7 @@ def test_sumpy_fmm_timing_data_collection(ctx_factory): from boxtree.fmm import drive_fmm timing_data = {} - pot, = drive_fmm(trav, wrangler, weights, timing_data=timing_data) + pot, = drive_fmm(trav, wrangler, (weights,), timing_data=timing_data) print(timing_data) assert timing_data @@ -308,7 +308,7 @@ def test_sumpy_fmm_exclude_self(ctx_factory): from boxtree.fmm import drive_fmm - pot, = drive_fmm(trav, wrangler, weights) + pot, = drive_fmm(trav, wrangler, (weights,)) from sumpy import P2P p2p = P2P(ctx, out_kernels, exclude_self=True) diff --git a/test/test_kernels.py b/test/test_kernels.py index 2435cc250999f7c2626a6a5f594617f16c36557f..3d0dea7a82091fbdf57cccbf88e3b10cd77d3390 100644 --- a/test/test_kernels.py +++ b/test/test_kernels.py @@ -210,7 +210,8 @@ def test_p2e_multiple(ctx_factory, base_knl, expn_class): out_host=True, **extra_source_kwargs) expected_result += mpoles - assert np.allclose(actual_result, expected_result) + norm = la.norm(actual_result - expected_result)/la.norm(expected_result) + assert norm < 1e-12 @pytest.mark.parametrize("order", [4])