Final Project

DUE: Monday, December 5, 2016


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.

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 a GPU Warp scheduling competition (using a scheduler implementation in GPGPUsim).

For the programming track, the default project is available here.

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: By November 10 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?

For the implementation track proposals, a much shorter one paragraph description of your proposed project is sufficient. Either way, please mark your proposal title with either “Implementation:” or “Research:”

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 Monday, December 5th 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.