From 6ec961b91c761b0439f23f24d64c14d3dd1e6585 Mon Sep 17 00:00:00 2001 From: arghdos Date: Tue, 25 Oct 2016 16:19:57 -0400 Subject: [PATCH] allow for array ConstantArgs --- loopy/target/c/codegen/expression.py | 4 ++-- loopy/target/opencl.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/loopy/target/c/codegen/expression.py b/loopy/target/c/codegen/expression.py index 6d06d8a79..343454777 100644 --- a/loopy/target/c/codegen/expression.py +++ b/loopy/target/c/codegen/expression.py @@ -176,7 +176,7 @@ class ExpressionToCExpressionMapper(IdentityMapper): lambda expr: evaluate(expr, self.codegen_state.var_subst_map), self.codegen_state.vectorization_info) - from loopy.kernel.data import ImageArg, GlobalArg, TemporaryVariable + from loopy.kernel.data import ImageArg, GlobalArg, TemporaryVariable, ConstantArg if isinstance(ary, ImageArg): extra_axes = 0 @@ -209,7 +209,7 @@ class ExpressionToCExpressionMapper(IdentityMapper): raise NotImplementedError( "non-floating-point images not supported for now") - elif isinstance(ary, (GlobalArg, TemporaryVariable)): + elif isinstance(ary, (GlobalArg, TemporaryVariable, ConstantArg)): if len(access_info.subscripts) == 0: if isinstance(ary, GlobalArg): # unsubscripted global args are pointers diff --git a/loopy/target/opencl.py b/loopy/target/opencl.py index 9c2d428b0..f0436099c 100644 --- a/loopy/target/opencl.py +++ b/loopy/target/opencl.py @@ -486,11 +486,11 @@ class OpenCLCASTBuilder(CASTBuilder): return CLImage(num_target_axes, mode, name) def get_constant_arg_decl(self, name, shape, dtype, is_written): - from loopy.codegen import POD # uses the correct complex type + from loopy.target.c import POD # uses the correct complex type from cgen import RestrictPointer, Const from cgen.opencl import CLConstant - arg_decl = RestrictPointer(POD(dtype, name)) + arg_decl = RestrictPointer(POD(self, dtype, name)) if not is_written: arg_decl = Const(arg_decl) -- GitLab