Loopy's codegenerator fails with non-deterministic error
- Dominant language
- Python
- Stars
- 636
- Forks
- 81
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Description
For the quite simple kernel
```python
import loopy as lp
knl = lp.make_kernel(
["{ [i_outer, i_inner] : 4i_outer <= n - 5 and 0 <= i_inner < 4 and 0 <= i_inner + 4i_outer < n }",
"{ [slab_i_outer] : n - 4 <= 4slab_i_outer < n }",
"[slab_i_outer, n] -> { [slab_i_inner] : 0 <= slab_i_inner < 4 and 0 <= slab_i_inner + 4slab_i_outer < n }"],
"""
a[i_inner + 4*i_outer] = i_inner + 4*i_outer
a[slab_i_inner + 4*slab_i_outer] = slab_i_inner + 4*slab_i_outer
""", seq_dependencies=True)
knl = lp.tag_inames(knl, "i_outer:g.0, slab_i_outer:g.0")
lp.generate_code_v2(knl)
```
Depending on `PYTHONHASHSEED` the error cycles between:
- In setup_hw_parallel_loops
```
NotImplementedError: only single-valued piecewise affine expressions are supported here--encountered multi-valued expression '[n] -> { [(-2 + 2n - 2*floor((3n)/4))] : n >= 5; [(n - floor((3n)/4))] : n <= 4 }'
```
- In check_implemented_domains
```
loopy.diagnostic.LoopyError: sanity check failed--implemented and desired domain for instruction 'insn_0' do not match
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.