Two weeks (well, 12ish days) until generals. I still need to finish a full draft, though I sent one off to Zach and Luis. I also need to do the slides. I’m not a fan of having to work on both tasks in parallel when they both have the same hard deadline. At the same time, they both seem like monumental tasks, and chipping away at each one each day is much easier.

What do I need to have done by this week?

  • Full draft of document, with little to no holes (unlike the current draft).
  • Draft of presentations, though not necessarily with all figures made.

Then I could focus the final week on script and figures.

What is left to be done for the document?

  • Abs and intro drafted.
  • Related work not done.
  • Glenside and 3LA sections not yet merged.
  • Lakeroad section not yet drafted.


  • Document
    • finish related work section draft (and don’t over-focus on a single sub-section)
  • Slides
    • elaborate all presentation sections
    • elaborate all presentation subsections
    • intro slides

Actually ended up working on Lakeroad section.


  • Document
    • draft Glenside section
  • Slides
    • draft Glenside section


  • Document
    • finish Lakeroad section
  • Slides
    • Lakeroad slides
      • not done, but a large chunk outlined.


  • Document
    • draft 3LA section
  • Slides
    • draft 3LA section


One weak part of my generals story currently: I claim that implicit descriptions of the hardware are scattered throughout compilers, though I don’t actually have concrete examples. What makes me think it’s true? It’s a mix of experience and hunch. Hunch, because, well, if formal models of hardware were already being used to build compilers from, I would likely not have felt the desire to write this thesis.

My limited experience comes from TVM. Here’s what I can think of of the top of my head.

  • There are layout optimization passes that are specific to certain hardware that aren’t actually directly tied to or derived from a formal hardware description.
  • I suspect (from secondhand stories) that the VTA compiler is riddled with oblique

Where I’m at as of Friday. Slides are mostly outlined, but still a ton of content to make. I feel pretty good that if I had to leave it til Monday, I would be fine, assuming I canceled all obligations and went hard on slides. That’s also assuming that a lot of the work I do for the document carries over to the presentation.

Document still has a lot. I’m not sure I’ll get the draft by today. If not today, then I will push to Sunday.

Intro and abstract are in the same draft state. Good enough for first draft, save for the last few paragraphs of the intro, which need to be finished.

Related work is still messy. Luis suggested scoping it down. I think the implication was to cut papers out. I think I can keep all the papers I have notes for, and just collapse them into fewer groups. I also don’t need a full paragraph for every paper.

Glenside and 3LA portions are bare. Zach thinks I need to prioritize tying Glenside into the story, and I agree. At the very least, this means (1) writing a paragraph for Glenside in the intro, tying it in (2) writing the first paragraph of the Glenside section, where we really intro the project. Ideally, we also finally merge the Glenside paper in. We need to do the same things with 3LA.

Lakeroad section. Intro is more done than anything else. Overview has the core info in it. Plus the only figure in the document so far! Implementation section. ISA exploration is not done at all, though I at least outlined the sections. ISA implementation synthesis has half a page of text, though I’m not sure how good it is. Proposed evaluation is pretty empty. Initial results is pretty empty. Future work has a bit in it, and we don’t need that much more.

With that, here’s how I think I should prioritize.

  1. Glenside section.
    1. Write Glenside paragraph/sentences in the intro.
    2. Write Glenside section opening paragraph(s).
    3. Merge Glenside paper in.
      1. Insert Glenside text
      2. fix errors
      3. reword??
  2. 3LA section.
    1. Write 3LA paragraph/sentences in the intro.
    2. Write 3LA section opening paragraph(s).
    3. Merge 3LA paper in.
      1. Insert 3LA text
        • What sections do I need?
      2. fix errors
      3. reword??
  3. Lakeroad.
    1. Impelementation.
    2. Evaluation.
    3. Initial results.
  4. Related work.
  5. Cleanup.
    1. Conclusion.
    2. Figures.
    3. Fix cites.
  6. Ship!

This is a good roadmap for today (Friday) and the rest of the weekend.