calyxir / calyx

Intermediate Language (IL) for Hardware Accelerator Generators
https://calyxir.org
MIT License
488 stars 48 forks source link

Tutorial: changes to the schedule #1546

Closed anshumanmohan closed 1 year ago

anshumanmohan commented 1 year ago

Just gathering up the changes I proposed to the schedule. The original comments are here and below. These have been updated in light of the big meeting we had after I posted those comments.

  1. Give Cider 5 mins.

  2. Right now we have

    10am-10.05am | MrXL: A map-reduce frontend 10.05am-11am | Compiling MrXL to Calyx

    And I think we could instead have

    10am-10.15am | MrXL: A map-reduce frontend 10.15am-11am | Adding map to MrXL.

    That is, in the first 15 mins, we'll walk them through the tutorial as written. We will gloss over the parts where the tutorial shows how to compile MrXL using the eDSL, since that's really best for working through yourself. Indeed, they'll spend 45 mins adding map to the DSL.

  3. Speaking of later on, I propose that we change

    11.25am-12.25pm | Hardware Performance 101 / MrXL competition

    into three tracks.

    1. Reduction trees, for those interested in speedup.
    2. Arbitration and multi-banking, for those interested in that.
    3. Office hours, for those just wanting to backfill about what the heck is going on.
anshumanmohan commented 1 year ago

@rachitnigam if this is okay, I can make the changes. I can also move fud up, if that's of interest.

priyasrikumar commented 1 year ago

I think moving fud up might be good since folks will have just finished the language tutorial? Maybe we swap Pollen and fud?

anshumanmohan commented 1 year ago

I propose this. the parenthetical stuff will be cut, ofc

Time Topic (Presenter: verbose)
9-9:05am Introduction to Calyx (Rachit: fluff)
9:05-9:20am Setting Up (Rachit: meet your (virtual) machine, run the runt/fud checks, group people so they have machines even if shared, etc.)
9:20-9:55am Your first Calyx Program (Rachit: from the getting started guide)
9:55-10am fud (Priya: playing up how scary the orchestration actually is)
10-10:10am MrXL: A map-reduce frontend (Anshuman: along with a lesson about banking)
10:10-10:50am MrXL: implementing map (them: on their own)
10:50-10:55am Cider (Griffin: from A exam)
10:55-11am Pollen: A Pangenome Analysis DSL (Susan: stressing the don't-need-to-know-architecture point)
11-11:20am Break
11:20-11:30am Quick lesson about reduction trees and arbitration (Anshuman: slides, handouts)
11:30am-12:20pm MrXL competition: reduction trees, arbitration, or office hours (them: on their own)
12:20-12:30pm Closing remarks & Competition Winners (Rachit)
anshumanmohan commented 1 year ago

I like that MrXL intro, MrXL map, and MrXL competition are one block interrupted only by a break, not by content. Happy to discuss if others feel this is a bad idea.

Pollen just before MrXL also makes thematic sense.

If you go along with both of these, that leaves us with a nice slot for Cider and fud: after the intro and before the (Pollen + MrXL + break + MrXL) monolith

priyasrikumar commented 1 year ago

This is nice!! Frontloading all the not-MrXL stuff is awesome and gives folks contextual continuity for independent work time. Totally in favor :D

anshumanmohan commented 1 year ago

@rachitnigam, now that we are leaning on the Docker a good bit more, do you think you could squeeze the "setting up" stuff down by a few minutes and yield that time to map implementation?

rachitnigam commented 1 year ago

So, the reason "setting up" is that long is because it might take people a while to download the docker image and we would need to help people who run into problem. It's already quite short so I'd feel a little iffy about making it shorter.

rachitnigam commented 1 year ago

Also, one thing to consider with the proposed talk slot changes: it seems like we would now have ~25 minutes of talk in one go which is violating our original principle of having mostly hack and have few talks in the middle to provide flavor and motivation.

Thoughts on moving Cider and Pollen after the MrXL tutorial? I'm not sure if people would get to experiment with Cider before the implementation of MrXL stuff anyways and maybe the complexity of designing something like Pollen will be more obvious once they've taken a shot at implement a small DSL themselves?

anshumanmohan commented 1 year ago

Ah yes, both very fair! I've adjusted the proposed schedule above with these changes, see what you think?

rachitnigam commented 1 year ago

LGTM! Merge the changes on the website!