College Work
I got to do a lot of cool work during my undergrad and masters at MIT.
I did research at CSAIL (CS + AI Lab) using clang to rewrite C code as a part of an automated process of turning C into Rust for my MEng Thesis.
I also took some really great classes. They solidified my understanding of what happens underneath the software abstraction and taught me how to use that knowledge effectively for maximum performance:
Top 3
- 6.S894 Accelerated Computing
- 6.1060 Software Performance Engineering
- 6.1100 Computer Language Engineering
Honorable Mentions
- 6.1810 Operating Systems Engineering — Showed me how page tables, syscalls like fork() and mmap(), traps, and the filesystem are implemented under the hood. It did this by letting students get hands-on experience by directly modifying the source of a simple, unix-like OS.
- 6.1920 Constructive Computer Architecture — Taught me CPU microarchitecture from the ground up including superscalar, SMT, cache coherence, pipelining, store buffers etc.
- 6.5840 Distributed Systems — Discussed many papers on various distributed systems like MapReduce (of course), GFS, Spanner, Zookeeper, etc and gave me the chance to fully implement Raft in Go.
- 6.5930 Hardware Architecture for Deep Learning — Helped me connect my GPU knowledge with how actual ML/AI workloads would use them. My final project investigated how to address bottlenecks in flash attention.