5 ms·
See also: https://polyhedral.info https://polyhedral.info The ideas here go back a long way. As mentioned on Wikipedia, the Polly project for LLVM uses this ap
by 6700417 7y ago
See also: https://polyhedral.info https://polyhedral.info
The ideas here go back a long way. As mentioned on Wikipedia, the Polly project for LLVM uses this approach.
There is also work for MLIR to use the polyhedral model (https://github.com/tensorflow/mlir/blob/master/g3doc/RationaleSimplifiedPolyhedralForm.md https://github.com/tensorflow/mlir/blob/master/g3doc/Rationa...).
- macawfish 7y agoThis is really cool and good to know about. I hadn't heard of this technique before, but have caught some interest in SPIRV lately while learning about WebGPU. Well I just noticed that Polly is used in the LLVM SPIRV backend... Makes sense! https://github.com/KhronosGroup/LLVM-SPIRV-Backend/blob/master/polly/lib/Analysis/PolyhedralInfo.cpp https://github.com/KhronosGroup/LLVM-SPIRV-Backend/blob/mast... I'm very excited about the potential for writing GPU code from whatever high level language is convenient. (Which will not be WSL, by the way).
- jdoerfert 7y agoIt would be news to me that the PolyhedralInfo interface is actually used anywhere. As the file comment says, this was "work in progress" a few years ago and it shares the same drawbacks as Polly (unfortunately). Polyhedral development in LLVM stagnated a while ago, maybe we find the people and time to actually land the PolyhedralValueInfo (see for example this talk: https://www.youtube.com/watch?v=xSA0XLYJ-G0 https://www.youtube.com/watch?v=xSA0XLYJ-G0).
- Cladode 7y agoAlbert Cohen from Google gave a really good lecture on polyhedral compilation in the real world at PLISS [1] this year: slides [2], lecture videos [3, 4]. A core problem of the polyhedral approach, is that the thing that makes it so appealing (it being expressive enough to enable the many interesting program transformations), is costly for large programs making, the overall optimisation process and hence the compiler hard to scale. Naturally, this difficulty makes for interesting research problems. [1] https://pliss.org/ https://pliss.org/ [2] https://pliss2019.github.io/albert_cohen_slides.pdf https://pliss2019.github.io/albert_cohen_slides.pdf [3] https://www.youtube.com/watch?v=mt6pIpt5Wk0 https://www.youtube.com/watch?v=mt6pIpt5Wk0 [4] https://www.youtube.com/watch?v=3TNT5rFVTUY https://www.youtube.com/watch?v=3TNT5rFVTUY