We run open-door group meetings every week when group members or invited speakers present their work or other state-of-the-art research. This is the best way to connect with and learn about our lab. For Spring 2025, group meetings happen on every Wednesday, 4-5pm PST in ECE 303.
We are excited to know that you are interested in research, and thank you for your interest in our lab! We are doing our best to provide everyone a great lab experience. However, research is not for everyone, and our lab may not be the best fit for you. At the same time, we have to manage our limited resources carefully. To give everyone at least a chance to try while not overwhelming our lab, we are experimenting with the following lab policies regarding undergrad/master research.
Our research projects require solid background knowledge in computer architecture (EE 469/470), digital circuit (EE 271/371), digital VLSI (EE 476/477/478), and skills in general software programming (Linux, Python, C/C++) and RTL design (Verilog). Preferred knowledge and skills include advanced computer architecture (CSE 548/549), operating systems, programming languages, compilers, GPU architecture and programming (e.g., CUDA), deep learning algorithm/implementation (PyTorch/Tensorflow, LLM, etc.), hardware accelerator, CGRA & FPGA architecture/programming/CAD, etc. Without these knowledge/skills, we may not be able to provide a meaningful experience to you. However, if you believe you could pick things up extremely fast on top of your coursework, please read on.
The ability to work independently in unfamiliar areas is key to success in research. As a quick test of your readiness, please take a look at the PRGA project. Figure out what the project is about and how it works at a high level. Try to run an example, and better yet, explore what you can do with it. We are happy to provide limited support, but you need to decide whether you enjoy experiences like this on your own.
We aim to offer every student a project of his/her/their own, and even when larger-scale projects require teamwork, we try our best to make sure each member has a clearly defined scope of his/her/their own. Most of such projects are implementations or evaluations in the context of a larger-scale research project. As for independent, open-ended research, we recommend looking into that after a successful quarter in the lab. For one, this helps you familiarize with the area and the infrastructure for conducting research. Secondly, research questions often emerge from in-depth, hands-on experience on some engineering project.
Students that work on closely related topics are grouped into subteams. We have weekly or bi-weekly subteam meetings and additional ad hoc meetings if needed. This ensures that I (Ang) can meet with everyone regularly without spending all my time in meetings. Plus, the subteam members can help each other in many ways, sometimes even better than I can do.
Due to similar reasons why grades and exams are necessary to ensure the students' learning, we run a quarterly assessment system. If you are already a member when a quarter starts or if you join quite early in a quarter, expectations will be communicated to you on what the goals are for that quarter. Then, at the end of the quarter, you will be assessed based on the mutually agreed expectations. If you fall behind too much, we would suggest taking a pause on pursuing lab experience, and we will help figuring out the reason for under-performing. For example, it might be due to the lack of background knowledge, or due to over-committing to coursework and other activities. You are welcome to come back once these factors are addressed, and even during the pause, you are still welcome to the open-door group meetings.
I'm more than happy to advise students interested in doing research for credits (EE 499/599). However, research is demanding and challenging, so I'm only offering these opportunities to students that I'm already familiar with after they have spent some time in the lab. I will grade the research credits using the aforementioned quarterly assessment system -- mutually agreed, clearly defined expectations before a quarter starts, then assessment according to those expectations when the quarter ends. Warning ahead -- to make it fair to all other students taking classes, it won't be easy to get a 4.0 from me.