Skip to content
Snippets Groups Projects
Commit 400b1c92 authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Fix reduction library for new mangler/preamble generator interface

parent bcedf75d
No related branches found
No related tags found
No related merge requests found
...@@ -300,27 +300,27 @@ def parse_reduction_op(name): ...@@ -300,27 +300,27 @@ def parse_reduction_op(name):
# }}} # }}}
def reduction_function_mangler(target, func_id, arg_dtypes): def reduction_function_mangler(kernel, func_id, arg_dtypes):
if isinstance(func_id, ArgExtFunction): if isinstance(func_id, ArgExtFunction):
from loopy.target.opencl import OpenCLTarget from loopy.target.opencl import OpenCLTarget
if not isinstance(target, OpenCLTarget): if not isinstance(kernel.target, OpenCLTarget):
raise LoopyError("only OpenCL supported for now") raise LoopyError("only OpenCL supported for now")
op = func_id.reduction_op op = func_id.reduction_op
return (op.result_dtype(target, func_id.scalar_dtype, func_id.inames), return (op.result_dtype(kernel.target, func_id.scalar_dtype, func_id.inames),
"%s_%s" % (op.prefix(func_id.scalar_dtype), func_id.name)) "%s_%s" % (op.prefix(func_id.scalar_dtype), func_id.name))
return None return None
def reduction_preamble_generator(target, seen_dtypes, seen_functions): def reduction_preamble_generator(kernel, seen_dtypes, seen_functions):
from loopy.target.opencl import OpenCLTarget from loopy.target.opencl import OpenCLTarget
for func in seen_functions: for func in seen_functions:
if isinstance(func.name, ArgExtFunction): if isinstance(func.name, ArgExtFunction):
if not isinstance(target, OpenCLTarget): if not isinstance(kernel.target, OpenCLTarget):
raise LoopyError("only OpenCL supported for now") raise LoopyError("only OpenCL supported for now")
yield get_argext_preamble(target, func.name) yield get_argext_preamble(kernel.target, func.name)
# vim: fdm=marker # vim: fdm=marker
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment