From 3df0533e94f12f8e932f2ab976a8a4890798b046 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni <15399010+kaushikcfd@users.noreply.github.com> Date: Tue, 10 Aug 2021 20:03:59 -0500 Subject: [PATCH] [PytatoPyOpenCLArrayContext] Do not evaluate array expressions for 0-sized arrays (#69) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * do not evaluate array expressions for 0-sized arrays * Use empty for empty arrays Co-authored-by: Andreas Klöckner <inform@tiker.net> --- arraycontext/impl/pytato/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arraycontext/impl/pytato/__init__.py b/arraycontext/impl/pytato/__init__.py index dfcdc23..b4ac63e 100644 --- a/arraycontext/impl/pytato/__init__.py +++ b/arraycontext/impl/pytato/__init__.py @@ -123,6 +123,16 @@ class PytatoPyOpenCLArrayContext(ArrayContext): raise TypeError("PytatoPyOpenCLArrayContext.freeze invoked with " f"non-pytato array of type '{type(array)}'") + # {{{ early exit for 0-sized arrays + + if array.size == 0: + return cla.empty(self.queue.context, + shape=array.shape, + dtype=array.dtype, + allocator=self.allocator) + + # }}} + from arraycontext.impl.pytato.utils import _normalize_pt_expr normalized_expr, bound_arguments = _normalize_pt_expr(array) -- GitLab