Final Project

The project for this course is very open-ended. You are welcome to propose any topic that is related to the class material. See the lecture slides about the final project for more ideas. As discussed a few options include:

  1. Implementing and optimizing an algorithm of your choice in HLS.
  2. Exploring, improving, or evaluating some aspect of HLS tools (open-source or commercial).
  3. Exploring, improving, or evaluating the growing space of DSL to HLS compilers.

You can work alone, or in a group of two.

Project Deliverables

There will be four deliverables for the project:

Project Proposal

  1. A project proposal. You will present your proposal in a 5 minute presentation in class on March 30th. You should indicate the project title and the members of your group (if you are not working on your own). Prepare a few slides about: 1) what you are going to work on, 2) issues/risks you anticipate and how you plan to mitigate them, and 3) what results you plan to collect.

  2. An interim class presentation on the last two day of class. In this presentation, you will describe the problem you are trying to solve, any relevant previous work, and your approach. You should have some results to present. Like the mini-lecture, your goal is to make sure that the class understands what you are tying to do, and why you are trying to do it. Presentations should be close to 15 minutes.

  3. The final technical report. This should be prepared in IEEE conference format (11pt, two columns), with a 4 page limit (6 page limit for groups of two). The paper should be of similar writing quality to a IEEE conference paper. Introduce your problem, describe what you did, and include results. Use figures where appropriate to help describe your project. If your project is better presented in another format (jupyter notebook page, wiki page), discuss this with the instructor. The final report is due Wednesday, April 26st, 11:59pm

  4. Commit any code or code products to your Github repo. Include some basic documentation that outlines the organization of your files and how someone would use them.

Grading Breakdown

Your final project will be graded on these categories:

  • 50%: Work completed for project. (Difficulty of problem tackled, amount of work completed, auality and clarity of results, etc.)
  • 20%: Class presentation (Clarity, organization, engagement)
  • 20%: Report (Clarity of presentation, context with related work, writing quality, qualtiy of graphics and/or figures)
  • 10%: Organization and documentation of code products