GPU Hardware and Software

Course Website

Average Workload

11.3 hrs/wk

Average Difficulty

3.0 /5

Average Overall

4.0 /5
CS-8803-O21
GPU Hardware and Software
Taken Fall 2024
Reviewed on 12/29/2024

Verified GT Email

Workload: 16 hr/wk
Difficulty: Medium
Overall: Neutral

TLDR: Definitely not terrible, but far from great. CUDA projects are interesting. Lectures aren't engaging. Same projects and weights as Summer 2024 semester.

Pros:

  • Access to H100 GPU - most people won’t get to use hardware this advanced outside of a class setting.
  • The second CUDA project is the highlight of the course - one of the most challenging assignments I had in OMSCS.
  • There’s a decent amount of extra credit (project 2, participation) - you’ll need it for the final exam.
  • No/little surprises with your grades: projects 3-5 use Gradescope, projects 1-2 don’t need it.
  • The instructional team was flexible when unforeseen issues came up. For example, they extended deadlines twice - once during a hurricane (while another infamous class didn’t bother moving its high-stakes exam) and again when PACE was down. Later, when performance instabilities affected some submissions, TA announced plans to re-evaluate those cases. They also added unplanned extra credit to make up for a bug in the last project.

Neutral:

  • Class size is untypically small for OMSCS at around 50 students. This could be good or bad depending on your cohort. Most students who manage to grab a spot typically have 7-8 classes behind their belt, so they tend to know their stuff. This can sometimes feel intimidating, especially if you’re struggling with the projects and it seems like everyone else knows what they’re doing.
  • Office hours almost made it to the 'Pros' section. It was great that the professor held them weekly, which is apparently a rarity in OMSCS. However, the timing didn’t work for most students, so attendance was very low, and the sessions were often quite short. Unfortunately, OHs weren’t very useful for the projects either. In the second half of the semester, the meetings were canceled frequently.
  • Projects 3 and 4 involved reading academic papers and implementing simplified versions of their ideas by completing specific functions within a provided codebase. (Think HPCA projects but simpler). While I didn’t care much for these projects or the papers, this format felt closer to a traditional graduate school experience.
  • Project 5 had potential but felt unfinished and rushed. It could benefit from additional tests with more interesting scenarios. Guidance on how to implement the project came too late, by which point many students had already finished without fully understanding how to use the approach taught in the lectures. As a result, many opted for alternative implementations that didn’t align with the class concepts.
  • The quizzes were mostly fine, but nearly all of them included a couple of ambiguous questions or answers. These quizzes didn’t do much to reinforce the concepts taught in class, nor did they prepare you well for the exam. The ones based on papers, in particular, felt like they were designed to be as convoluted and unclear as possible.
  • It seems this semester, TAs had to focus more on the administrative aspects of the course, which is understandable given that this is a newer class. Still, having a TA who is especially passionate about the subject and comfortable answering more in-depth or tangential questions could take the experience to another level. That kind of enthusiasm can make the course feel like more than just a class.

Cons:

  • I found it odd that they decided to forbid students from discussing closed quizzes on Ed. This completely defeated the purpose of collaborative learning. Even the infamous class allows students to discuss closed homeworks and quizzes after they are due. Private posts were technically allowed, but the repeated reminders that no information would be shared privately that wasn’t already shared publicly gave the clear impression that they were discouraged.
  • The lectures are dry and often skim through material too quickly. Even when the lectures provided additional context, it was so high level that it ended up being useful to no one - unnecessary for those familiar with the material (from a CS undergrad or other OMSCS courses) and unclear for those encountering it for the first time. It also doesn’t help that HPCA, which feels like a natural prerequisite, has far superior lectures.
  • A lot of the content in this new class already feels outdated. Most of the assigned readings are over 10 years old and focus on inferring GPUs' inner workings from older NVIDIA patents. This isn’t the fault of the course since much of NVIDIA’s GPU technology is proprietary. However, it would be great if the class dived into the latest trends in GPUs, compared vendors, or even speculated about future developments.
  • Final - they attempted an HPCA-style exam without offering HPCA-quality of instruction. The class mean was 40.8%, median 45%, with the highest score being only 75%. I actually don't mind this style of the exam with conceptual questions, but the provided material does not prepare you for it. Unlike HPCA that provides excellent lectures, lecture quizzes, multiple sample exams with solutions and explanations, this class has almost nothing - just poorly worded quizzes that are significantly simpler.

Overall, I don't regret taking this class. A lot of what I learned came from external resources (keep an eye out for helpful links shared by your fellow students). The class, in its current format, feels very frontloaded, with a steep learning curve for Project 2. Assuming the class structure will stay the same, I'd say this class is good for summer semesters or pairing with another course.