Skip to content

[GSoC 2021] Halide Code Generation For More Languages

Alex Reinking edited this page Mar 1, 2021 · 2 revisions

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