-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port Over Simulator and Compiler from pifo-tree-artifact
#57
Conversation
pifo-tree-artifact
pifo-tree-artifact
535cd91
to
205401c
Compare
Yahoo, all graphs match now! |
I'm sorry for the size of the diff. While the additions are inflated by copying code from |
pifo-tree-artifact
pifo-tree-artifact
Super duper! Before I do a real review, a quick question: in copying over The broad alternate to a monorepo is that we actually keep the repos separate, and that we request the user to download the two as sibling directories. Then we write some interstitial code that reifies the connection between the two repos. By and large I think @sampsyo and the lab are a little iffy about this second style |
I copied
Long term, I'm conflicted on what the best choice is. If we ultimately decide to use this T2T compiler for converting between topologies (i.e. following the blue path in #38), then moving to a monorepo model makes sense. Maybe just the simulator can be separated out? However, if we choose not to use this compiler, we'd likely rewrite it (either from and to DSL programs or between Calyx eDSL programs). In that case, maintaining two separate repositories or a git submodule seems best, as our simulator and OCaml compiler would be auxiliary utilities rather than central to our workflow. |
Agreed; not clear what would be best. But then again it doesn't seem like it would be too too hard to reverse any of these decisions as long as we promise to avoid any large changes to the |
"Let's just do it and worry about the right final decision later" seems about right to me! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Some little things in here for you but otherwise you're clear to merge
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alrighty thanks for flagging the missed file. It is indeed a bit dense so I've requested a few comments and type annotations! Plus I think I spotted once chance for OCaml-level tidying
This PR makes the following changes
ocamlformat
bin/
float
instead ofint
(necessary to implementWFQ_Ternary
inschedulers-in-ocaml
)Frontend
andSimulate
EDF
,SJN
, andSRTF
inpolicy.ml
; constructing controls for them is for laterschedulers-in-ocaml
Control.of_policy
(most of the work for this PR)tests/compilation
: i.e. check the.csv
s matchTo generate graphs via our simulator,
cd
intodsl/
and runThis populates
graphs/