From 6ca2b736e0902c077503ca07b0ccb4190fd2af39 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni Date: Sun, 4 Apr 2021 16:39:09 -0500 Subject: [PATCH] do not freeze reduction outputs --- grudge/execution.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/grudge/execution.py b/grudge/execution.py index c6d745f3..cd136758 100644 --- a/grudge/execution.py +++ b/grudge/execution.py @@ -158,22 +158,18 @@ class ExecutionMapper(mappers.Evaluator, def map_nodal_sum(self, op, field_expr): actx = self.array_context - return sum([ - actx.to_numpy(actx.np.sum(grp_ary))[()] - for grp_ary in self.rec(field_expr) - ]) + return actx.np.sum(actx.np.stack([actx.np.sum(grp_ary) + for grp_ary in self.rec(field_expr)])) def map_nodal_max(self, op, field_expr): actx = self.array_context - return np.max([ - actx.to_numpy(actx.np.max(grp_ary))[()] - for grp_ary in self.rec(field_expr)]) + return actx.np.max(actx.np.stack([actx.np.max(grp_ary) + for grp_ary in self.rec(field_expr)])) def map_nodal_min(self, op, field_expr): actx = self.array_context - return np.min([ - actx.to_numpy(actx.np.min(grp_ary))[()] - for grp_ary in self.rec(field_expr)]) + return actx.np.min(actx.np.stack([actx.np.min(grp_ary) + for grp_ary in self.rec(field_expr)])) # }}} -- GitLab