Comments (2)
Good catch, thanks for the report. For now, predicates are simply strings representing variable names, but your examples demonstrate that that simply won't suffice. I'll have to allow expressions to allow for these transformations to happen. Not a huge change in principle--I'll see what I can do.
else
is doable, too. FWIW, syntax like this:
if blah
a = b
end
already exists.
from loopy.
This commit addresses the ILP concern, and it's possible that it might also address the unroll case, but I haven't tested that yet.
There are a few loose ends:
- Investigate expression parsing in
if
-like contexts (basically check that it works, ideally add tests), given that it previously (technically) should have only allowed variables - I'd be grateful if you could PR me a test for the unroll case, along the lines of the one I've added for your ILP example (see that commit).
- Add
else
syntax. (if you like) For that, look inloopy/kernel/creation.py
and search forIF_RE
and its usage sites.
from loopy.
Related Issues (20)
- Spurious MissingBarrierError HOT 1
- duplicaing an iname results in an unschedulable kernel HOT 2
- lp.make_einsum fails parsing subscript expressions with spaces in them
- Poor scaling with many calls to add_prefetch HOT 3
- CInstructions break get_op_map HOT 2
- Private variables not supported with ISPC / Exception needs explanations HOT 1
- LOCAL memory access starts at an inefficient point relative to access pattern HOT 2
- Back out the implemented-domains cache hackery
- check_implemented_domains still fails HOT 1
- Allow vec tagging of odd sizes for local temporaries HOT 1
- Support pragma unroll HOT 3
- ASV sumpy benchmarks are broken
- Math callables not registered inside pymbolic LogicalNot HOT 2
- Replace `_lpy_even_div` with `//` in unchecked mode
- `memoize_on_disk` can produce filenames that are too long HOT 1
- matmul.floopy doesn't seem to work HOT 2
- Unsigned array bounds break in CUDA HOT 2
- Loss of length-1 inames HOT 2
- Pinning dependencies HOT 2
- Enable `check_untyped_defs` in mypy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from loopy.