Lesson 1: Welcome & Overview
- discussion thread
- tasks due January 8
On readings: Recommended background readings are marked with (^) above. Optional historical readings are marked with (*).
Notes
-
Welcome to ECE 4/599! I’m really excited to dive deep into some research with you all this quarter!
-
Why are memory systems important, why do we care?
- Simply: store data
- But why is it challenging? Ultimately, physical constraints
- We can have large memories or fast memories, but not both. This means if we have a lot of data we need fast access to, we need to use careful engineering.
- Today’s workloads (e.g., AI) are memory hungry. They use a lot of data and need to crunch it quickly.
-
How do we manage with disparate memory performance profiles?
- Hierarchies
- How to move between?
- How much should be automatic?
- How can we speculate?
- What is the correct granularity of access and transfer?
-
Course overview and the syllabus.
- Communication will be on Discord and on GitHub.
- Class sessions will usually follow this structure:
- First part:
- I’ll do some traditional “lecturing” in class
- Some (but not all) sessions will include lessons that may or may not have associated tasks for you to complete.
- Second part:
- Everyone should read the relevant paper beforehand so we can have a good discussion. You’ll need to post a comment in the paper’s discussion thread on GitHub.
- The paper leader’s job is to present the paper using slides, guide the discussion, answer discussion questions on GitHub, and organize the lab to work on a collective blog post.
- The scribe takes notes from in-class discussions.
- The blogger summarizes the paper (using input from the paper leader’s notes, online and in-class discussions, and their own interpretations) into a technical blog post.
- The reviewer summarizes strengths and weaknesses of the paper.
- Remember to keep track of the schedule!
- Hacking sessions: in some cases I will give you time during class to hack on your project with me around to help.
- First part:
- The course project.
- Policies, academic integrity, generative AI, respect, accessibility.
-
This lesson’s task is about getting set up for the course.
- Ask questions about the course setup in this lesson’s discussion topic!
- Your first task is below: introduce yourself in Discord right now, and (offline) pick a paper discussion to lead.
- This website and the blog, including the GitHub repository where you’ll send PRs. The idea is that we are working together in this class as a real research team might.
Tasks
- Read the syllabus!
- Sign up for Discord and introduce yourself
- Do the background reading for Wednesday and for next week.
- Decide on teams for projects. See the syllabus.
- Ask any questions about the course structure or content in this lesson’s discussion topic.
- Pick a paper from the schedule whose discussion you want to lead and volunteer for it.
Claim it by opening a pull request that modifies
content.toml
to fill in your name on one of theleader = "TK"
lines.