From 95e5f733e798bd132cc271ef3622dc328405027d Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sun, 8 Feb 2015 17:13:28 -0600 Subject: [PATCH] Move some pyopencl imports inside functions --- loopy/auto_test.py | 12 ++++++++++-- loopy/compiled.py | 6 +++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/loopy/auto_test.py b/loopy/auto_test.py index f73183526..dc304780c 100644 --- a/loopy/auto_test.py +++ b/loopy/auto_test.py @@ -29,8 +29,6 @@ from pytools import Record import numpy as np -import pyopencl as cl -import pyopencl.array as cl_array import loopy as lp from loopy.diagnostic import LoopyError @@ -66,6 +64,9 @@ class TestArgInfo(Record): # {{{ "reference" arguments def make_ref_args(kernel, impl_arg_info, queue, parameters, fill_value): + import pyopencl as cl + import pyopencl.array as cl_array + from loopy.kernel.data import ValueArg, GlobalArg, ImageArg from pymbolic import evaluate @@ -176,6 +177,9 @@ def make_ref_args(kernel, impl_arg_info, queue, parameters, fill_value): def make_args(kernel, impl_arg_info, queue, ref_arg_data, parameters, fill_value): + import pyopencl as cl + import pyopencl.array as cl_array + from loopy.kernel.data import ValueArg, GlobalArg, ImageArg from pymbolic import evaluate @@ -310,6 +314,8 @@ def _default_check_result(result, ref_result): # {{{ ref device finder def _enumerate_cl_devices_for_ref_test(): + import pyopencl as cl + noncpu_devs = [] cpu_devs = [] @@ -359,6 +365,8 @@ def auto_test_vs_ref( message) indicating correctness/acceptability of the result """ + import pyopencl as cl + if len(ref_knl.args) != len(test_knl.args): raise LoopyError("ref_knl and test_knl do not have the same number " "of arguments") diff --git a/loopy/compiled.py b/loopy/compiled.py index 7fb686e74..463e24921 100644 --- a/loopy/compiled.py +++ b/loopy/compiled.py @@ -27,8 +27,6 @@ THE SOFTWARE. """ -import pyopencl as cl -import pyopencl.tools # noqa import numpy as np from pytools import Record, memoize_method from loopy.diagnostic import ParameterFinderWarning @@ -126,11 +124,12 @@ class SeparateArrayPackingController(object): def python_dtype_str(dtype): + import pyopencl.tools as cl_tools if dtype.isbuiltin: return "_lpy_np."+dtype.name else: return ("_lpy_cl_tools.get_or_register_dtype(\"%s\")" - % cl.tools.dtype_to_ctype(dtype)) + % cl_tools.dtype_to_ctype(dtype)) # {{{ integer arg finding from shapes @@ -714,6 +713,7 @@ class CompiledKernel: from pytools import invoke_editor code = invoke_editor(code, "code.cl") + import pyopencl as cl cl_program = cl.Program(self.context, code) cl_kernel = getattr( cl_program.build(options=kernel.options.cl_build_options), -- GitLab