loopy
loopy copied to clipboard
A code generator for array-based code on CPUs and GPUs
Consider this code (from @xywei): ```py import pyopencl as cl import numpy as np import loopy as lp inline = False ctx = cl.create_some_context() queue = cl.CommandQueue(ctx) n = 4...
MWE: ```python import loopy as lp knl = lp.make_kernel( [ "{[iel, iface, idof, ifacedof]:" " 0
cf. https://github.com/inducer/islpy/issues/89 I think this could cause kernels to compare equal that we emphatically wouldn't consider equal. I think what we want is wrapper objects that provides the names and...
Consider the following kernel: ```py knl = lp.make_kernel( ["{[i]: 0
Traceback ```python knl = self.get_optimized_kernel(**kwargs) sumpy/e2e.py:650: in get_optimized_kernel knl = self.get_kernel(result_dtype) sumpy/e2e.py:645: in get_kernel loopy_knl = lp.inline_callable_kernel(loopy_knl, name) /home/idf2/miniforge3/lib/python3.10/site-packages/loopy/transform/callable.py:500: in inline_callable_kernel translation_unit = infer_arg_descr(translation_unit) /home/idf2/miniforge3/lib/python3.10/site-packages/loopy/preprocess.py:499: in infer_arg_descr new_callable, clbl_inf_ctx =...
- [x] Depends on #293 (commits included here) - [ ] Depends on #350 (commits included here)
A desirable test case for this would be: ```python out[x, e, i] = sum([r, j], sum([j], Jac[x, e, r] * Rdiff[r, i, j] * u[e, j])) ``` should be transformed...
Consider the kernel: ```python import loopy as lp knl = lp.make_kernel( "{[e, i, j]: 0
Consider the kernel: ```python import loopy as lp knl = lp.make_einsum("k,ij,ij->i", arg_names=("a", "b", "c")) knl = lp.extract_subst(knl, "tmp_hoist", "b[i, j] * c[i, j]") ``` raises the following exception: ```python RuntimeError:...