[GSoC 2021] Halide Code Generation For More Languages - halide/Halide GitHub Wiki
Detailed Description
The ahead-of-time (AOT) compilation in Halide currently generates either C/C++ libraries, Python extensions, or llvm bitcode. In this project, we want to make it generate headers and libraries for more languages, including Swift, Rust, Julia, and .NET. A good starting point is to modify our PyTorch wrapper, which generates gluing code for a PyTorch operator, to instead generate function interfaces for the corresponding languages.
Expected Outcomes
Add code generation for at least one language above.
Optional stretch goal(s):
- More languages.
- Make the generated function interfaces consumes the language's native multidimensional arrays (useful for Julia and .NET).
Skills
C++ experience is required. Some familiarities with the target language is preferred.
Difficulty level
Medium
Mentors
- @zvookin (Zalman Stern)
- @rootjalex (Alexander Root)
- @BachiLi (Tzu-Mao Li)
- @alexreinking (Alex Reinking, .NET only)