From f311a1a43d73be8d31c047f49be08071923fdcdd Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni Date: Sat, 11 Aug 2018 19:40:45 +0530 Subject: [PATCH] pass the examples? --- examples/python/call-external.py | 22 ++++++++++++++-------- examples/python/global_barrier_removal.py | 2 +- examples/python/hello-loopy.py | 3 ++- examples/python/ispc-stream-harness.py | 2 -- examples/python/sparse.py | 4 ++-- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/examples/python/call-external.py b/examples/python/call-external.py index 904270472..68618a7ec 100644 --- a/examples/python/call-external.py +++ b/examples/python/call-external.py @@ -7,12 +7,14 @@ from loopy.target.c import CTarget # {{{ blas callable class BLASCallable(lp.ScalarCallable): - def with_types(self, arg_id_to_dtype, kernel): + def with_types(self, arg_id_to_dtype, kernel, program_callables_info): for i in range(0, 2): if i not in arg_id_to_dtype or arg_id_to_dtype[i] is None: # the types provided aren't mature enough to specialize the # callable - return self.copy(arg_id_to_dtype=arg_id_to_dtype) + return ( + self.copy(arg_id_to_dtype=arg_id_to_dtype), + program_callables_info) mat_dtype = arg_id_to_dtype[0].numpy_dtype vec_dtype = arg_id_to_dtype[1].numpy_dtype @@ -32,7 +34,7 @@ class BLASCallable(lp.ScalarCallable): from loopy.types import NumpyType return self.copy(name_in_target=name_in_target, arg_id_to_dtype={0: NumpyType(vec_dtype), 1: NumpyType(vec_dtype), - -1: NumpyType(vec_dtype)}) + -1: NumpyType(vec_dtype)}), program_callables_info def emit_call_insn(self, insn, target, expression_to_code_mapper): assert self.is_ready_for_codegen() @@ -97,9 +99,13 @@ knl = lp.make_kernel( """ y[:] = gemv(A[:, :], x[:]) """, [ - lp.ArrayArg('A', dtype=np.float64, shape=(n, n)), - lp.ArrayArg('x', dtype=np.float64, shape=(n, )), - lp.ArrayArg('y', shape=(n, )), ...], - target=CTarget()) + lp.GlobalArg('A', dtype=np.float64, shape=(n, n)), + lp.GlobalArg('x', dtype=np.float64, shape=(n, )), + lp.GlobalArg('y', shape=(n, )), ...], + target=CTarget(), + lang_version=(2018, 2)) -knl = lp.register_function_lookup(knl, blas_fn_lookup) +knl = lp.register_function_id_to_in_knl_callable_mapper( + knl, blas_fn_lookup) + +print(lp.generate_code_v2(knl).device_code()) diff --git a/examples/python/global_barrier_removal.py b/examples/python/global_barrier_removal.py index 7ab049cd1..cc4926fee 100644 --- a/examples/python/global_barrier_removal.py +++ b/examples/python/global_barrier_removal.py @@ -24,7 +24,7 @@ from loopy.preprocess import preprocess_kernel knl = preprocess_kernel(knl) from loopy.schedule import get_one_scheduled_kernel -knl = get_one_scheduled_kernel(knl) +knl = get_one_scheduled_kernel(knl.root_kernel, knl.program_callables_info) # map schedule onto host or device print(knl) diff --git a/examples/python/hello-loopy.py b/examples/python/hello-loopy.py index 9098c5444..764cea0e6 100644 --- a/examples/python/hello-loopy.py +++ b/examples/python/hello-loopy.py @@ -16,7 +16,8 @@ a = cl.array.arange(queue, n, dtype=np.float32) # ------ knl = lp.make_kernel( "{ [i]: 0<=i