loopy
loopy copied to clipboard
A code generator for array-based code on CPUs and GPUs
The following script: ```python import loopy as lp import numpy as np ngroups = 2 group_size = 4 knl = lp.make_kernel( "{[i]: 0
Specify and check must-nest and must-not-nest constraints on loop nestings. - [x] Constraint specification and checking - [x] Enforcement during linearization - Child PR covers processing of constraints during transformations:...
transformations where loop nest constraints handled: - [x] split_iname - [x] remove_unused_inames - [x] duplicate_inames - [ ] rename_iname - [x] (when new iname doesn't exist) - [ ] (when...
**DO NOT MERGE** Comparison of old loop nest constraint branch to new one to aid transplantation of functionality. Unfortunately, this branch also has all the new dependency stuff in it,...
I added all the basic functions I could find via regex matching that shouldn't require new logic (so this isn't by any means the complete set of functions listed [here](https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_C.html#math-functions))....
cc @kaushikcfd @isuruf
The current heuristic has hilarious failure modes, as shown by @zachjweiner in https://github.com/inducer/loopy/pull/160#issuecomment-869924678. This'll probably be easiest to do at the same time as we sharpen up our dependencies to...
This should happen after #224 goes in. See the thread at https://github.com/inducer/loopy/pull/224#discussion_r654847143 for more context.
The following translation unit: ```python alpha_set = lp.make_function( "{[i]: 0
Attempting to add a prefetch to a kernel with a SubArrayRef leads to an assertion error. Some mapper is attempting to create a new SubArrayRef but passes `None` for both...