From e15ac8acfd248f236b882be82cc4a934c31c9ef0 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sun, 29 Aug 2021 19:06:47 -0500 Subject: [PATCH] Add a feature flag for nonscalar broadcasting --- arraycontext/context.py | 5 +++++ arraycontext/impl/pyopencl/__init__.py | 4 ++++ arraycontext/impl/pytato/__init__.py | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/arraycontext/context.py b/arraycontext/context.py index 3d2df31..9ffbe2a 100644 --- a/arraycontext/context.py +++ b/arraycontext/context.py @@ -355,6 +355,11 @@ class ArrayContext(ABC): def permits_inplace_modification(self): pass + # undocumented for now + @abstractproperty + def supports_nonscalar_broadcasting(self): + pass + # }}} # vim: foldmethod=marker diff --git a/arraycontext/impl/pyopencl/__init__.py b/arraycontext/impl/pyopencl/__init__.py index 98f3ffc..cd9c02a 100644 --- a/arraycontext/impl/pyopencl/__init__.py +++ b/arraycontext/impl/pyopencl/__init__.py @@ -278,6 +278,10 @@ class PyOpenCLArrayContext(ArrayContext): def permits_inplace_modification(self): return True + @property + def supports_nonscalar_broadcasting(self): + return False + # }}} # vim: foldmethod=marker diff --git a/arraycontext/impl/pytato/__init__.py b/arraycontext/impl/pytato/__init__.py index beaebc4..0f5ad12 100644 --- a/arraycontext/impl/pytato/__init__.py +++ b/arraycontext/impl/pytato/__init__.py @@ -227,3 +227,7 @@ class PytatoPyOpenCLArrayContext(ArrayContext): @property def permits_inplace_modification(self): return False + + @property + def supports_nonscalar_broadcasting(self): + return True -- GitLab