Closed mjguynn closed 2 years ago
Hey Mateo,
Thanks for reaching out! Could you send me an email at dag368@cornell.edu so we can chat about research? To be honest, it's very late in the semester to really get a project together for summer, but perhaps we can work something out.
-Dietrich
Personal Details
Name:
Mateo Guynn
Major:
Computer Science
Year in Cornell & Expected graduation date:
I'm a rising junior. I expect to graduate in May 2024.
Relevant classes:
CS 2110, 2800, 3110, 3410, 4410, 4820
Interested in continuing research during the summer?
Yes!
Expertise (languages/frameworks/etc.):
Rust, C++, C, Python, OCaml, Java, JavaScript
Research
When do you want to do research?
I would love to do research this summer. I'm also interested in doing research for credit during Spring 2023.
What is exciting to you about research?
I'm enthusiastic about software efficiency: most of my personal projects revolve around performance, and CS 3410 was one of my favorite CS classes, largely due to the focus on optimizations such as branch prediction and pipelining. I'm continually impressed by how capable modern hardware is, but I feel like software doesn't fully utilize it; I suspect this underutilization is partially caused by limitations of programming languages and compilers. By participating in Capra's research, I hope to learn leading-edge techniques for improving software efficiency. I'm excited to contribute to research which could improve people's experiences using everyday software. Finally, I view research as a great way to gain real-world programming experience.
What kind of research do you want to do?
I'm interested in graphics programming and GPU utilization. I don't have much experience in those areas, but I'm very interested in learning! I'm also interested in general compiler research.
Background
Was there a paper that particularly excited you?
I recently read "MLIR: Scaling Compiler Infrastructure for Domain Specific Computation," which explains the basic principles of the MLIR framework. I know that frameworks like ANTLR have stimulated DSL development by making it easier to build lexers and parsers; MLIR promises to streamline the process of building optimizing compilers by facilitating code and algorithm reuse, so I'm excited to see whether it leads to an explosion of compilers (or at least better-optimized ones.) I found MLIR's dialect system and progressive-lowering process particularly interesting.
I also enjoyed "A Compiler Infrastructure for Accelerator Generators." I've experienced how live-range analysis can improve software performance, such as how Rust's lifetime system can guarantee safe re-use of a buffer. I was surprised to see that live-range analysis can be used with hardware designs as well. This paper — and "Compiler-Driven Simulation of Reconfigurable Hardware Accelerators" — seem to suggest that many software compilation techniques have unexplored applications in the field of hardware design, which I find pretty exciting.
Which of the current research projects would you be interested in working on and why?
I don't believe its on the list, but I was interested in working on Dietrich Geisler's research involving a CPU-GPU intermediate representation. With the rise of machine learning, GPU acceleration is becoming increasingly important; I believe researching optimizations for the code connecting the CPU and GPU is a promising way to improve software efficiency.
I'm also interested in working on Gator and Braid. Gator interests me because I love bug-catching type systems (such as linear types and Rust's lifetime annotations.) Braid interests me for the same reasons as the aformentioned IR research. In reality, though, I'd be thrilled to work on any of the current research projects.
Anything else you want to tell us about yourself? I'm planning on self-studying Crafting Interpreters over the summer.
Attach a CV/Resumé Resume.pdf