Skip to content

[GSoC 2021] A (Better) Interactive Viewer for Halide Pseudocode

Andrew Adams edited this page Feb 18, 2021 · 3 revisions

Improve our ability to visualize Halide's generated pseudocode in a web page, with syntax highlighting, code folding, back references, etc.

Detailed description

Part of the Halide development loop is reading pseudocode of the generated pipeline to understand how the scheduling directives influence code generation. See for example this recorded optimization session. This is currently mostly consumed as text, which means we have no syntax highlighting, code folding, and other niceties. We have an html output option as well, but it produces bloated, slow, static html for large pipelines. It needs rewriting by someone who knows how to render data structures efficiently and interactively in a web page.

Expected outcomes

  • Make the "html" generator output more useful for understanding what the compiler has done on complex code.
  • Produce html that renders quickly, even for very large pipelines.

Stretch goals

  • A syntax highlighting mode for any major text editor (e.g. emacs, sublime, vscode) that renders the existing text version of the pseudocode nicely.

Skills

  • Web development / JavaScript
  • C++
  • Git
  • Familiarity with Halide's intermediate representation (IR), or the willingness to dive in and learn a compiler IR.

Difficulty level

Medium

Mentors