From ffc2d041b95e87717cd5c02418f564a75cf50f83 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni <kgk2@illinois.edu> Date: Sun, 7 Mar 2021 17:28:35 -0600 Subject: [PATCH] do not use CL-specific max, min, sum --- grudge/execution.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/grudge/execution.py b/grudge/execution.py index 4b86fcb9..c6d745f3 100644 --- a/grudge/execution.py +++ b/grudge/execution.py @@ -27,7 +27,6 @@ import numpy as np from pytools import memoize_in import loopy as lp -import pyopencl as cl import pyopencl.array # noqa from meshmode.dof_array import DOFArray, thaw, flatten, unflatten @@ -158,25 +157,22 @@ class ExecutionMapper(mappers.Evaluator, # {{{ nodal reductions def map_nodal_sum(self, op, field_expr): - # FIXME: Could allow array scalars - # FIXME: Fix CL-specific-ness + actx = self.array_context return sum([ - cl.array.sum(grp_ary).get()[()] - for grp_ary in self.rec(field_expr) - ]) + actx.to_numpy(actx.np.sum(grp_ary))[()] + for grp_ary in self.rec(field_expr) + ]) def map_nodal_max(self, op, field_expr): - # FIXME: Could allow array scalars - # FIXME: Fix CL-specific-ness + actx = self.array_context return np.max([ - cl.array.max(grp_ary).get()[()] + actx.to_numpy(actx.np.max(grp_ary))[()] for grp_ary in self.rec(field_expr)]) def map_nodal_min(self, op, field_expr): - # FIXME: Could allow array scalars - # FIXME: Fix CL-specific-ness + actx = self.array_context return np.min([ - cl.array.min(grp_ary).get()[()] + actx.to_numpy(actx.np.min(grp_ary))[()] for grp_ary in self.rec(field_expr)]) # }}} -- GitLab