From 64f27e1ede1a7bc2f9a59f81600ef11628b23e1e Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sat, 23 Nov 2013 00:56:04 -0600 Subject: [PATCH] Tweak naming of scan kernels --- pyopencl/scan.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pyopencl/scan.py b/pyopencl/scan.py index 2d7bc9ec..23c32777 100644 --- a/pyopencl/scan.py +++ b/pyopencl/scan.py @@ -125,7 +125,7 @@ SCAN_INTERVALS_SOURCE = SHARED_PREAMBLE + r"""//CL// KERNEL REQD_WG_SIZE(WG_SIZE, 1, 1) -void ${name_prefix}_scan_intervals( +void ${kernel_name}( ${argument_signature}, GLOBAL_MEM scan_type *restrict partial_scan_buffer, const index_type N, @@ -784,7 +784,7 @@ _IGNORED_WORDS = set(""" get_local_size get_local_id cl_khr_fp64 reqd_work_group_size get_num_groups barrier get_group_id - _final_update _scan_intervals _debug_scan + _final_update _debug_scan kernel_name positions all padded integer its previous write based writes 0 has local worth scan_expr to read cannot not X items False bank @@ -1249,6 +1249,12 @@ class GenericScanKernel(_GenericScanKernelBase): wg_size = _round_down_to_power_of_2( min(max_wg_size, 256)) + kernel_name = self.code_variables["name_prefix"]+"_scan_intervals" + if is_first_level: + kernel_name += "_lev1" + else: + kernel_name += "_lev2" + scan_tpl = _make_template(SCAN_INTERVALS_SOURCE) scan_src = str(scan_tpl.render( wg_size=wg_size, @@ -1260,13 +1266,12 @@ class GenericScanKernel(_GenericScanKernelBase): is_first_level=is_first_level, store_segment_start_flags=store_segment_start_flags, use_bank_conflict_avoidance=use_bank_conflict_avoidance, + kernel_name=kernel_name, **self.code_variables)) prg = cl.Program(self.context, scan_src).build(self.options) - knl = getattr( - prg, - self.code_variables["name_prefix"]+"_scan_intervals") + knl = getattr(prg, kernel_name) scalar_arg_dtypes.extend( (None, self.index_dtype, self. index_dtype)) -- GitLab