Skip to content

Instantly share code, notes, and snippets.

@inducer
Created February 22, 2017 23:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save inducer/35aee5cf3c6b3ec1c658b502ef7aa0be to your computer and use it in GitHub Desktop.
Save inducer/35aee5cf3c6b3ec1c658b502ef7aa0be to your computer and use it in GitHub Desktop.
import loopy as lp
import numpy as np
import pyopencl as cl
from loopy.kernel.data import temp_var_scope as scopes
lp.set_caching_enabled(False)
ctx = cl.create_some_context()
queue = cl.CommandQueue(ctx)
def __get_code(k):
return lp.generate_code(knl)[0]
knl = lp.make_kernel(['{[i]: 0 <= i < 2}'],
"""
a[i] = i
""",
[lp.GlobalArg('a', dtype=np.float64, shape=(2,))],
target=lp.OpenCLTarget(),
)
print __get_code(knl)
knl = lp.split_iname(knl, 'i', 4, inner_tag='l.0')
def ggs(insn_ids, ignore_auto):
grid_size, local_size = orig_knl.get_grid_sizes_for_insn_ids(insn_ids)
return grid_size, (4,)
orig_knl = knl
knl = knl.copy(overridden_get_grid_sizes_for_insn_ids=ggs)
print __get_code(knl)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment