From af08fbac702630888e4b7544656ac2f50cef54e7 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Mon, 29 Jul 2013 12:03:30 -0400 Subject: [PATCH] Naming and PEP8 tweaks --- sumpy/__init__.py | 8 ++++---- sumpy/e2e.py | 10 ++++++++-- sumpy/e2p.py | 12 ++++++++---- sumpy/fmm.py | 8 ++++---- sumpy/p2e.py | 12 ++++++++---- sumpy/p2p.py | 9 +++++++-- sumpy/qbx.py | 4 ++++ sumpy/tools.py | 4 ++-- test/test_kernels.py | 12 ++++++------ 9 files changed, 51 insertions(+), 28 deletions(-) diff --git a/sumpy/__init__.py b/sumpy/__init__.py index 372d58c8..bdbb9d04 100644 --- a/sumpy/__init__.py +++ b/sumpy/__init__.py @@ -23,12 +23,12 @@ THE SOFTWARE. """ from sumpy.p2p import P2P, P2PFromCSR -from sumpy.p2e import P2EFromLocal, P2EFromCSR -from sumpy.e2p import E2PFromLocal, E2PFromCSR +from sumpy.p2e import P2EFromSingleBox, P2EFromCSR +from sumpy.e2p import E2PFromSingleBox, E2PFromCSR from sumpy.e2e import E2EFromCSR, E2EFromChildren, E2EFromParent __all__ = [ "P2P", "P2PFromCSR", - "P2EFromLocal", "P2EFromCSR", - "E2PFromLocal", "E2PFromCSR", + "P2EFromSingleBox", "P2EFromCSR", + "E2PFromSingleBox", "E2PFromCSR", "E2EFromCSR", "E2EFromChildren", "E2EFromParent"] diff --git a/sumpy/e2e.py b/sumpy/e2e.py index b92675dc..3920f932 100644 --- a/sumpy/e2e.py +++ b/sumpy/e2e.py @@ -32,7 +32,7 @@ from pytools import memoize_method class E2EBase(object): def __init__(self, ctx, src_expansion, tgt_expansion, - options=[], name="e2e", device=None): + options=[], name=None, device=None): """ :arg expansion: a subclass of :class:`sympy.expansion.ExpansionBase` :arg strength_usage: A list of integers indicating which expression @@ -48,7 +48,7 @@ class E2EBase(object): self.src_expansion = src_expansion self.tgt_expansion = tgt_expansion self.options = options - self.name = name + self.name = name or self.default_name self.device = device if src_expansion.dim != tgt_expansion.dim: @@ -105,6 +105,8 @@ class E2EFromCSR(E2EBase): list. """ + default_name = "e2e_from_csr" + def get_kernel(self): ncoeff_src = len(self.src_expansion) ncoeff_tgt = len(self.tgt_expansion) @@ -190,6 +192,8 @@ class E2EFromCSR(E2EBase): # {{{ translation from a box's children class E2EFromChildren(E2EBase): + default_name = "e2e_from_children" + def get_kernel(self): if self.src_expansion is not self.tgt_expansion: raise RuntimeError("%s requires that the source " @@ -285,6 +289,8 @@ class E2EFromChildren(E2EBase): # {{{ translation from a box's parent class E2EFromParent(E2EBase): + default_name = "e2e_from_parent" + def get_kernel(self): if self.src_expansion is not self.tgt_expansion: raise RuntimeError("%s requires that the source " diff --git a/sumpy/e2p.py b/sumpy/e2p.py index 8274ec9c..9abdd5e1 100644 --- a/sumpy/e2p.py +++ b/sumpy/e2p.py @@ -32,7 +32,7 @@ from pytools import memoize_method class E2PBase(object): def __init__(self, ctx, expansion, kernels, - options=[], name="e2p", device=None): + options=[], name=None, device=None): """ :arg expansion: a subclass of :class:`sympy.expansion.ExpansionBase` :arg strength_usage: A list of integers indicating which expression @@ -48,7 +48,7 @@ class E2PBase(object): self.expansion = expansion self.kernels = kernels self.options = options - self.name = name + self.name = name or self.default_name self.device = device self.dim = expansion.dim @@ -102,9 +102,11 @@ class E2PBase(object): # }}} -# {{{ box-local E2P (L2P, likely) +# {{{ E2P to single box (L2P, likely) + +class E2PFromSingleBox(E2PBase): + default_name = "e2p_from_local" -class E2PFromLocal(E2PBase): def get_kernel(self): ncoeffs = len(self.expansion) @@ -181,6 +183,8 @@ class E2PFromLocal(E2PBase): # {{{ E2P from CSR-like interaction list class E2PFromCSR(E2PBase): + default_name = "e2p_from_csr" + def get_kernel(self): ncoeffs = len(self.expansion) diff --git a/sumpy/fmm.py b/sumpy/fmm.py index ce403fda..2455bb72 100644 --- a/sumpy/fmm.py +++ b/sumpy/fmm.py @@ -47,17 +47,17 @@ class SumpyExpansionWranglerCodeContainer(object): self.cl_context = cl_context from sumpy import ( - P2EFromLocal, P2EFromCSR, - E2PFromLocal, E2PFromCSR, + P2EFromSingleBox, P2EFromCSR, + E2PFromSingleBox, E2PFromCSR, P2PFromCSR, E2EFromCSR, E2EFromChildren, E2EFromParent) - self.p2m = P2EFromLocal(cl_context, m_expn) + self.p2m = P2EFromSingleBox(cl_context, m_expn) self.p2l = P2EFromCSR(cl_context, l_expn) self.m2m = E2EFromChildren(cl_context, m_expn, m_expn) self.m2l = E2EFromCSR(cl_context, m_expn, l_expn) self.l2l = E2EFromParent(cl_context, l_expn, l_expn) self.m2p = E2PFromCSR(cl_context, m_expn, out_kernels) - self.l2p = E2PFromLocal(cl_context, l_expn, out_kernels) + self.l2p = E2PFromSingleBox(cl_context, l_expn, out_kernels) # FIXME figure out what to do about exclude_self self.p2p = P2PFromCSR(cl_context, out_kernels, exclude_self=False) diff --git a/sumpy/p2e.py b/sumpy/p2e.py index 5da14790..c2b5364e 100644 --- a/sumpy/p2e.py +++ b/sumpy/p2e.py @@ -31,7 +31,7 @@ from pytools import memoize_method class P2EBase(object): def __init__(self, ctx, expansion, - options=[], name="p2e", device=None): + options=[], name=None, device=None): """ :arg expansion: a subclass of :class:`sympy.expansion.ExpansionBase` :arg strength_usage: A list of integers indicating which expression @@ -46,7 +46,7 @@ class P2EBase(object): self.ctx = ctx self.expansion = expansion self.options = options - self.name = name + self.name = name or self.default_name self.device = device self.dim = expansion.dim @@ -82,9 +82,11 @@ class P2EBase(object): # }}} -# {{{ P2E from local boxes +# {{{ P2E from single box (P2M, likely) + +class P2EFromSingleBox(P2EBase): + default_name = "p2e_from_single_box" -class P2EFromLocal(P2EBase): def get_kernel(self): ncoeffs = len(self.expansion) @@ -161,6 +163,8 @@ class P2EFromLocal(P2EBase): # {{{ P2E from CSR-like interaction list class P2EFromCSR(P2EBase): + default_name = "p2e_from_csr" + def get_kernel(self): ncoeffs = len(self.expansion) diff --git a/sumpy/p2p.py b/sumpy/p2p.py index a0431686..e33f7981 100644 --- a/sumpy/p2p.py +++ b/sumpy/p2p.py @@ -37,7 +37,7 @@ from sumpy.tools import KernelComputation class P2PBase(KernelComputation): def __init__(self, ctx, kernels, exclude_self, strength_usage=None, value_dtypes=None, - options=[], name="p2p", device=None): + options=[], name=None, device=None): """ :arg kernels: list of :class:`sumpy.kernel.Kernel` instances :arg strength_usage: A list of integers indicating which expression @@ -86,6 +86,8 @@ class P2PBase(KernelComputation): # {{{ P2P with list of sources and list of targets class P2P(P2PBase): + default_name = "p2p" + def get_kernel(self): loopy_insns, result_names = self.get_loopy_insns_and_result_names() @@ -110,7 +112,8 @@ class P2P(P2PBase): self.get_kernel_scaling_assignments() + loopy_insns + [ - "<> d[idim] = targets[idim,itgt] - sources[idim,isrc] {id=compute_d}", + "<> d[idim] = targets[idim,itgt] - sources[idim,isrc] \ + {id=compute_d}", ]+[ lp.ExpressionInstruction(id=None, assignee="pair_result_%d" % i, expression=expr, @@ -180,6 +183,8 @@ class P2P(P2PBase): # {{{ P2P from CSR-like interaction list class P2PFromCSR(P2PBase): + default_name = "p2p_from_csr" + # FIXME: exclude_self ...? @memoize_method diff --git a/sumpy/qbx.py b/sumpy/qbx.py index 99ad35e3..0fa13f77 100644 --- a/sumpy/qbx.py +++ b/sumpy/qbx.py @@ -188,6 +188,8 @@ class LayerPotentialBase(KernelComputation): class LayerPotential(LayerPotentialBase): """Direct applier for the layer potential.""" + default_name = "qbx_apply" + def get_strength_or_not(self, isrc, kernel_idx): return var("strength_%d" % self.strength_usage[kernel_idx])[isrc] @@ -227,6 +229,8 @@ class LayerPotential(LayerPotentialBase): class LayerPotentialMatrixGenerator(LayerPotentialBase): """Generator for layer potential matrix entries.""" + default_name = "qbx_matrix" + def get_strength_or_not(self, isrc, kernel_idx): return 1 diff --git a/sumpy/tools.py b/sumpy/tools.py index 9b94dc4d..9ed9d162 100644 --- a/sumpy/tools.py +++ b/sumpy/tools.py @@ -116,7 +116,7 @@ class KernelComputation(object): """Common input processing for kernel computations.""" def __init__(self, ctx, kernels, strength_usage, - value_dtypes, name="kernel", options=[], device=None): + value_dtypes, name, options=[], device=None): """ :arg kernels: list of :class:`sumpy.kernel.Kernel` instances :class:`sumpy.kernel.TargetDerivative` wrappers should be @@ -165,7 +165,7 @@ class KernelComputation(object): self.strength_usage = strength_usage self.strength_count = strength_count - self.name = name + self.name = name or self.default_name def get_kernel_scaling_assignments(self): from pymbolic.sympy_interface import SympyToPymbolicMapper diff --git a/test/test_kernels.py b/test/test_kernels.py index ef660cff..9e720c21 100644 --- a/test/test_kernels.py +++ b/test/test_kernels.py @@ -127,9 +127,9 @@ def test_p2e2p(ctx_getter, knl, expn_class, order, with_source_derivative): ] expn = expn_class(knl, order=order) - from sumpy import P2EFromLocal, E2PFromLocal, P2P - p2e = P2EFromLocal(ctx, expn, out_kernels) - e2p = E2PFromLocal(ctx, expn, out_kernels) + from sumpy import P2EFromSingleBox, E2PFromSingleBox, P2P + p2e = P2EFromSingleBox(ctx, expn, out_kernels) + e2p = E2PFromSingleBox(ctx, expn, out_kernels) p2p = P2P(ctx, out_kernels, exclude_self=False) from pytools.convergence import EOCRecorder @@ -344,12 +344,12 @@ def test_translations(ctx_getter, knl): m_expn = VolumeTaylorMultipoleExpansion(knl, order=order) l_expn = VolumeTaylorLocalExpansion(knl, order=order) - from sumpy import P2EFromLocal, E2PFromLocal, P2P, E2EFromCSR - p2m = P2EFromLocal(ctx, m_expn) + from sumpy import P2EFromSingleBox, E2PFromSingleBox, P2P, E2EFromCSR + p2m = P2EFromSingleBox(ctx, m_expn) m2m = E2EFromCSR(ctx, m_expn, m_expn) m2l = E2EFromCSR(ctx, m_expn, l_expn) l2l = E2EFromCSR(ctx, l_expn, l_expn) - l2p = E2PFromLocal(ctx, l_expn, out_kernels) + l2p = E2PFromSingleBox(ctx, l_expn, out_kernels) p2p = P2P(ctx, out_kernels, exclude_self=False) fp = FieldPlotter(centers[:, -1], extent=0.3, npoints=res) -- GitLab