[codegen, bug]: Callee kernel name generation is incorrect
- Dominant language
- Python
- Stars
- 636
- Forks
- 81
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Description
Kernel call sites assume that the name of the generated function is identical to the LoopKernel's name. However, the actual name of the non-entrypoint kernel is generated during linearization as
https://github.com/inducer/loopy/blob/f67b65ccb7b377430986cf59db0747e51dfe84e7/loopy/schedule/device_mapping.py#L35-L40
---
Two ways of fixing this:
1. For non-entrypoint kernels we should always emit `CallKernel` with name equal to its `LoopKernel`, OR,
2. While emitting the code for a `Call` expression node, query the translation unit to get its `CallKernel`.
I feel (1) is cleaner(+easier to implement) and seems like it doesn't make any assumption that might bite us in the future. Opinions?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.