Hi folks, I've done some cpu compilers for x86, RISC-V, LLVM (mostly for fun and some for profit). I'm eager to learn more about GPU/TPU compilers and have been looking into Triton and XLA. What resources would be useful to learn HPC and/or gpu compilers in depth (or any adjacent areas)?
Any such books, courses etc will be much appreciated.
Multiflow still has some relevant ideas [2]
Programming on Parallel Machines: GPU, Multicore, Clusters and More. Gives you a look at some of the issues [3]
SPIRV-VM is a virtual machine for executing SPIR-V shaders [4]
NyuziRaster: Optimizing Rasterizer Performance and Energy in the Nyuzi Open Source GPU [5]
Ocelot is a modular dynamic compilation framework for heterogeneous systems, providing various backend targets for CUDA programs and analysis modules for the PTX virtual instruction set. [6]
glslang is the Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
[1]: https://www.goodreads.com/book/show/83895.Computer_Organizat...
[2]: https://en.wikipedia.org/wiki/Multiflow
[3]: http://heather.cs.ucdavis.edu/parprocbook
[4]: https://github.com/dfranx/SPIRV-VM
[5]: https://www.cs.binghamton.edu/~millerti/nyuziraster.pdf
[6]:https://code.google.com/archive/p/gpuocelot/
[7]: https://github.com/KhronosGroup/glslang