From 20903c9277c013b8e27fe2bb05ed1622bacb03d0 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Wed, 15 Dec 2010 18:03:39 -0500 Subject: [PATCH] Insert fp64 enable at *beginning* of preamble. --- pyopencl/elementwise.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pyopencl/elementwise.py b/pyopencl/elementwise.py index bcf2fb54..70ae34cd 100644 --- a/pyopencl/elementwise.py +++ b/pyopencl/elementwise.py @@ -42,7 +42,7 @@ def get_elwise_program(context, arguments, operation, name="elwise_kernel", keep=False, options=[], preamble="", loop_prep="", after_loop=""): from pyopencl import Program - return Program(context, """ + source = (""" %(preamble)s __kernel void %(name)s(%(arguments)s) @@ -68,7 +68,9 @@ def get_elwise_program(context, arguments, operation, "preamble": preamble, "loop_prep": loop_prep, "after_loop": after_loop, - }).build(options=" ".join(options)) + }) + + return Program(context, source).build(options=" ".join(options)) @@ -83,7 +85,9 @@ def get_elwise_kernel_and_types(context, arguments, operation, for arg in parsed_args: if numpy.float64 == arg.dtype: - preamble += "\n\n#pragma OPENCL EXTENSION cl_khr_fp64: enable\n" + preamble = ( + "#pragma OPENCL EXTENSION cl_khr_fp64: enable\n\n\n" + + preamble) break parsed_args.append(ScalarArg(numpy.uintp, "n")) -- GitLab