From 1838adb7e3bdfcdfd3c8a9d6bd8b866e6e2b5f59 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Thu, 18 Jan 2018 14:58:00 -0600 Subject: [PATCH 1/2] Make PyOpenCL-target warning on missing device more actionable --- loopy/target/pyopencl.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/loopy/target/pyopencl.py b/loopy/target/pyopencl.py index f24b115fd..9955705a2 100644 --- a/loopy/target/pyopencl.py +++ b/loopy/target/pyopencl.py @@ -441,7 +441,9 @@ def generate_value_arg_setup(kernel, devices, implemented_data_info): warn("{knl_name}: device not supplied to PyOpenCLTarget--" "workarounds for broken OpenCL implementations " "(such as those relating to complex numbers) " - "may not be enabled when needed" + "may not be enabled when needed. To avoid this, " + "pass target=lp.PyOpenCLTarget(dev) when creating " + "the kernel." .format(knl_name=kernel.name)) if any(count_bug_per_dev): -- GitLab From 2f257b78ab680a6ad43937ace612e91fac6ca1e4 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Thu, 18 Jan 2018 14:58:20 -0600 Subject: [PATCH 2/2] Make set usage in _get_iname_duplication_options more Py-idiomatic --- loopy/transform/iname.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/loopy/transform/iname.py b/loopy/transform/iname.py index d3285a417..2347cef3c 100644 --- a/loopy/transform/iname.py +++ b/loopy/transform/iname.py @@ -910,7 +910,7 @@ def _get_iname_duplication_options(insn_iname_sets, old_common_inames=frozenset( iname_insns = frozenset( insn for insn in insn_iname_sets - if frozenset([iname]).issubset(insn)) + if frozenset([iname]) <= insn) import itertools as it # For a given iname, the set of instructions containing this iname @@ -921,7 +921,7 @@ def _get_iname_duplication_options(insn_iname_sets, old_common_inames=frozenset( for l in range(1, len(iname_insns))): yield ( iname, - tuple(insn.union(old_common_inames) for insn in insns_to_dup)) + tuple(insn | old_common_inames for insn in insns_to_dup)) # If partitioning was empty, we have recursed successfully and yield nothing -- GitLab