Skip to content

Latest commit

 

History

History
172 lines (124 loc) · 7.25 KB

project.md

File metadata and controls

172 lines (124 loc) · 7.25 KB
title
Class Project

This page contains details about the class project.

Overview

The deliverable for the project in this class will be an NSF-like proposal. We recognize that 10 weeks is not enough time to complete a research project. However, we do believe that it's enough time to write a good research proposal!

At the bottom of this page you will find a list of ideas with a set of papers to get you started on each. If nothing on the list is interesting to you, you can propose your own idea. You must talk to Professor Lowe-Power by April 27 if you want to propose your own idea

Post your idea on teams by April 25 for initial feedback. On Teams, I will give some initial feedback and let you know that you're going in the right direction. Note: There is no class on April 25, so take this as your opportunity to work on your ideas.

Structure

You will complete three "sub" parts for the class project. First, you will present the problem and prior work during the 5th week of class (May 4). Then, you will present your idea to solve this problem and preliminary data during the last week of class (June 8). Finally, you will turn in the project report on June 12.

Problem and prior work presentation (20% of grade)

Rubric

  • Demonstrates an understanding of the problem
  • Demonstrates knowledge of prior related work
  • Clear and precise presentation of information

Heilmeier Catachism (10% of grade)

Rubric

Each item below weighted equally. Post on Teams in the general channel (so everyone can hear about what you are doing!). No more than 2 sentences per bullet!

  • What are you trying to do? Articulate your objectives using absolutely no jargon.
  • How is it done today, and what are the limits of current practice?
  • What is new in your approach and why do you think it will be successful?
  • Who cares? If you are successful, what difference will it make?
  • What are the risks?

Idea and preliminary data presentation (30% of grade)

Rubric

I strongly advise you to use the same template as you used for the paper presentations. You should talk about the problem, the prior state of the art, the main insight, and the methodology that you will use to evaluate the efficacy of the insight. You do not need to have much (or any, depending on the project) data in an evaluation. If you do have data, I expect that it will be very preliminary.

You will have 8 minutes. This is two minutes less than a normal paper presentation (and you have two fewer slides to cover).

  • The problem is clearly explained and motivated
  • The appropriate prior work is discussed and motivates the solution
  • The idea/solution appropriately addresses the problem
  • The methodology to evaluate the idea is appropriate to adequately demonstrates efficacy of idea
  • The preliminary data is sensible and well explained
  • Clear and precise presentation including data representation and visualizations

Final report template (40% of grade)

Requirements

  • Minimum of 4 pages, single spaced, single column, 11pt font (calibri or times), 1 in. margins.
    • I don't really care about the format, but it should be legible and not look like you're trying to game the system.
  • Maximum of 6 pages
  • PDF format
  • Due at 11:59pm June 12
  • Uploaded to canvas

Suggested Outline

You don't have to follow this outline, but it's a good starting point.

  • Intro (1-1.5 pages)
    • What is the problem?
    • Why is the problem important?
    • What is the potential impact of solving the problem?
    • Why now? What is it about the current state of technology that makes this an important problem to solve?
  • Prior state of the art (0.5-1 pages)
    • What is the related work and how it relates to your problem?
  • Main idea to solve the problem (1-2 pages)
    • How are you going to solve the problem?
    • What is the outcome of the proposed research?
  • Evaluation plan (0.5-1 pages)
    • How are you going to determine success?
    • What is the methodology (simulation, hardware, workloads, etc.) that you will use?
    • Why is this the right evaluation plan to determine success?

Please use diagrams, figures, and preliminary data to support and further explain the answers to these questions. As the saying goes, "a picture is worth 1000 words." However, if you include a picture/diagram/data that is not worth 1000 words, then maybe you should just use the words. 😉

More links to help writing proposals:

Rubric

  • Demonstrates an understanding of the problem
  • Demonstrates knowledge of prior related work
  • Idea appropriately addresses the problem
  • Preliminary data adequately demonstrates efficacy of idea
  • Clear description of the evaluation plan
  • Clear and precise presentation including data representation and visualizations

Deadlines

  • Week 4: Group and Project selection due (Post on teams by April 25)
  • Week 5: Problem statement presentations
  • Week 7: The Heilmeier Catechism due (Post on teams by May 17)
  • Week 10: Final presentations (June 8)
  • Monday 6/12: Final report due

Ideas

Security

  • Can you keep data secure in memory when many threads or devices or nodes are accessing it?
  • Can you build an accelerator to improve the performance of security?

Potential related work:

Managing Hybrid (Heterogeneous) Memory

  • How to move data between remote nodes and local memory?
  • How to improve cache coherence performance as systems become bigger (e.g., AMD Epyc++)
  • What is the impact of new memory technologies (STT-MRAM, PCM, etc.) on multithreaded applications?

Potential related things:

Vector architectures

  • What are the potential impacts of RISC-V vector extensions (RVV)?
  • What are the potential impacts of Arm vector extensions (SVE2)?
  • What are the potential impacts of deep learning accelerators beyond deep learning (e.g., Apple NPU, NVIDA/AMD tensor units, Google TPU, etc.)

Microarchitecture Optimization with ML

  • Can we use machine learning to improve performance of parallel applications?
  • Can we use machine learning to improve performance of parallel architectures?
  • Can we improve the performance of machine learning applications (e.g., CNNs, LLMs, GNNs, etc.)

gem5

  • Can you run gem5 in parallel (gem5 + SST?)?
  • What are limitations or new parallel systems to simulate in gem5?
    • Note: Jason's thesis started as a class project that asked "can we combine gem5 and GPGPU-Sim?"

Note: Talk to Jason early if this is a direction you're interested in to make sure that the project has some "research" direction.

Other general areas

  • Sparse graphs and sparse linear algebra

Your Own Ideas