Overall description
The project structure was described in the project kickoff class. There are two flavors (programming and architecture) and two tracks (research or non-research).Project Flavors
The programming flavor project would typically consider a substantial application and provide GPU (or other accelerator based) implementation for it. The implementation should study the application and fine tune performance to the best of your ability.The architecture flavor projects would explore architecture modifications to the GPU to improve performance and study it using a GPU simulator or a GPU open core. For a list of simulators and open cores, check the resources page.
Project Tracks
The research track has a research expectation -- i.e., a proposal/topic that may lead to a published paper. As a result, there is an expectation of a related work that explores papers related to your idea. There is also an expectation of a more detailed evaluation that perhaps compares against the most relevant alternative to your idea.In contrast, the implementation track the only requirement is that there is a substantial implementation effort. You do not have to establish novelty vs. related work and it is sufficient to evaluate your own implementation against the sequential one.
The research track project will allow you not to take the final exam. In contrast, Implementation track project students have to take the final exam. Note that if you are a CEN MS student counting this class as a core class you may want to take the comprehensive problems on the exam to meet the comprehensive exam requirement for your degree.
How do I find a problem to work on?
Ideally, you would come up with something based on your research or interests and discuss it with me. I'd be happy to discuss possible ideas and help you converge on a topic. Given that the quarter is short, I will provide one default project for each of the tracks. Note that the default project could, with some thinking, be turned into a research project as well.For the architecture track, the default project is to compete in the SIGARCH GPU Warp scheduling competition (using a scheduler implementation in GPGPUsim). We just missed the deadline to officially participate, but we can run a shadow competition locally.
For the programming track, the project is now available. Please check the class website for detail.
Logistics
- You may work individually or in a team of two. If you would like to have a larger team, please email me to justify that the scope requires the additional team member. Each member is expected to know the full implementation and be able to present it in the project demo.
- Research proposal: two weeks after the official release of the project (deadline TBD) you should submit a research proposal. For the research track students the proposal should be 1 or 2 pages with the following elements:
- What is the problem you would like to solve?
- Why is it important?
- What is your plan/outline of your solution?
- How do you propose to study it?
- What do you expect to find out?
- Project report: The report for the research project should be written as a paper submission to an ACM or IEEE conference. You should find templates of such submissions online. It should have all the elements of a paper (e.g., abstract, intro, related work, solution/technique, evaluation, conclusions). The implementation track report should be more like a lab. report where you describe your implementation and evaluation.
- The project will be graded based on a one-to-one demo to the instructor, as well as the proposal and report. The project will be due middle of the final week when the grading interviews will start. If you need to be graded earlier (for example due to travel plans), I can work with your schedule.