-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jiahan Xie #113
Comments
Hi @jiahanxie353! Out of curiosity: are you looking for an MS project (is this a thing?) or just be involved in research? The processes for these are slightly different (at least for MEng project) so would be useful to know. |
Hi @rachitnigam ! I want to be involved in research in Capra! |
Sounds good! I'm the project lead for Calyx and we're looking for someone to work on the Calyx CIRCT project to build a new, completely open-source high-level synthesis toolchain. The project requires a fair bit of understanding of C++ and using the LLVM/MLIR toolchains and a lot of independence on your part. If that is something you're interested in, we can discuss a small project to start off with to figure out if a long-term research position would work. For example, here an issue that will help you familiarize yourself with the CIRCT codebase and learn how to implement some cool compilers stuff. Beware that this is definitely throwing you into the deep end of things so feel free to ask us questions if you take it up. |
Sounds good to me! I'm fairly comfortable with C++ but still need to catch up LLVM/MLIR toolchains. But I definitely would love to take one small project to start off! |
Sounds good! Do you want to take a shot getting familiar with that project and see how far you can get? If you have any questions about Calyx or CIRCT, feel free to open an issue in the Calyx repo or the CIRCT repo and tag me! |
Sure I will! Just to clarify, is right now more like exploring Calyx, and is there any specific outcome expected for this step? |
There are a couple of goals to this:
I think the deliverable to aim for would be getting that issue feature implemented. Again, it is necessarily going to be a little confusing at the start but feel free to ask questions. |
Hi @rachitnigam! So I've been learning LLVM and MLIR, and walking through Calyx paper and documentation for the past weeks. I found LLVM/MLIR to be too huge to learn in a short term. Therefore I was wondering, while I will continue to be learning them, it'd be great if you could also point me to some specific resources to solve the aforementioned issue! Thanks! |
Hey @jiahanxie353! Thanks for reaching out. That seems totally reasonable–MLIR is a complex infrastructure so it takes a while to get used to it. One thing to do here is commenting on the issue saying that you'd like to take it up and ask for some direction. A couple of places to look is starting with the minimal reproducible example provided in the issue and seeing if you can at least trigger the same error message. Next, I think you'll have to understand the structure of the Once you have some understanding of the problem, I think you can try proposing an approach to the solution and getting some feedback from the folks in the issue. There is also a discord for LLVM which has a CIRCT channel where people might be able to help. Take a shot at this and send me an email at the end of next week to schedule some time to virtually chat! |
Thank you so much for sharing! Will do! |
It's been roughly 90 days since opening this issue. We apologize if we haven’t gotten back to you—research openings are somewhat sporadic, so sometimes we don’t have specific opportunities to offer. But more will certainly come in the future! If you're still interested in doing reasearch with us, please respond with "Still interested for <semester/summer>". Additionally, please update the issue by editing it and supplying us with more information, an updated resumé, etc. If you're no longer interested, do not respond to this thread and we will automatically close this issue. |
Note. Before applying, make sure you can receive notifications from Github. Once you apply, make sure you're subsribed to receive emails when someone responds to the issue. We will respond to your application on Github first so it's important that you receive notifications to it and respond quickly.
We are thrilled that you're interested in research in our research group! Please fill out this issue template. When you submit it, we will get a notification in our group chat. Please include any relevant details you can think of! Here are examples of filled out templates for reference.
For active projects in our group, take a look at our group website.
Personal Details
Name: Jiahan Xie
Major: Computer Science
Year in Cornell & Expected graduation date: First year MS & Expected May 2025
Relevant classes: 3110, 3410
Interested in continuing research during the summer?: Yes it'd be great!
Expertise (languages/frameworks/etc.): Python, C++, Java, OCaml
Research
When do you want to do research?
I want to start on Fall 2023 and continue over next spring as a extracurricular; and summer as a full-time job if things go well.
What is exciting to you about research?
I was researching machine learning (reinforcement learning, specifically) as in undergrad and gained a lot of experience in ML algorithms, NLP, CV, etc. At one point, I came to realize that the thrive of the applications in those fields rely extremely heavily on domain specific accelerators, parallel programming, etc. Then I learned about High-level Synthesis and got excited about automatic hardware accelerator generation. I then learned, however, that HLS tools can be very ad-hoc to certain software and hardware.
To this end (and sorry for this lengthy motivation), I'm really interested in building compilers to fill the gaps between software and hardware design in ML to make it more generalizable and easier to optimize.
What kind of research do you want to do?
Building compilers, that are more generalizable and friendly to programmers, easier for performance optimizations, for domain specific accelerators.
Background
Note: While these questions are optional for first & second year students, we highly encourage everyone to respond to them. Third & fourth year students are required to respond to all questions.
Was there a paper that particularly excited you?
Spatial: A Language and Compiler for Application Accelerators really excites me. It strikes the balance between programmer productivity and accelerator's performance by providing hardware specific abstractions for tuning.
Which of the current research projects would you be interested in working on and why?
Calyx. It's building an infrastructure that compiles high-level programs to domain specific hardware accelerators and demonstrates efficient optimization. I'm also interested in Dahlia.
Anything else you want to tell us about yourself?
I really love music, especially classical music and lo-fi.
Attach a CV/Resumé
Jiahan_Xie_Resume.pdf
The text was updated successfully, but these errors were encountered: