Skip to content

Juno build system, labels, and skeleton scheduler

Aaron Councilman requested to merge juno_scheduler into main

This includes some refactoring and new feature for Juno:

  • An improved build system for Juno which can be used in build scripts (see juno_samples for examples; matmul currently does not compile but the simple3 example can fully compile and run by just invoking cargo run from that directory) along with a juno! macro for importing Juno code into Rust (there is currently a known issue where the empty product is not being generated by the Hercules RT proc macro and so this needs to be included manually in Rust for the moment)
  • Labels which are tracked through semantic analysis and code generation to produce a data structure which tracks the set of labels and the associated NodeIDs in the Hercules IR (along with some information on what structure was labeled, i.e. if a label was on a loop we also make note of the header of the loop)
  • An initial skeleton of the scheduler, this will likely be completely rewritten but currently provides the ability to specify partitions based on the initial labels.

Merge request reports

Loading