Assignment #4 (420 students): Investigate a Parallel Something

This is a chance for individuals or teams of students (up to 3 per team) to work on any topic that they find interesting. Some possible topic themes include:

  • Take a problem from your own research and parallelize it in a target environment?
  • Program and explore a toolset or software environment, e.g. FlashGraph, Cassandra, ArrayFire, TensorFlow, etc.
  • Survey a research topic in parallelism, such as jitter in barriers, in-situ analysis for exascale computing?
  • Work with an emerging compute architecture based on sample hardware or an emulator, e.g. PIMs, ARM, Phi.

This list is in no way intended to restrict your creativity. You can work on anything that you want subject to the restriction that it must explore some principle related to parallelism or scalability. Many of you have asked about whether or not a topic is suitable. The answer is yes. If you want approval, post privately to piazza or ask after class.


The project should be equivalent to 2 weeks worth of work or, approximately 20 hours of work. If you work in a group we expect the work to be more comprehensive and reflect a greater quantity of work when compared to a single student.


By Friday April 28 @ 11:59:59pm, all project teams should submit a list of team members and a one paragraph summary of the activity to be undertaken to the Pre-proposal Assignment in Blackboard. Only one student in the team needs to submit. Professor Burns will provide brief feedback on this proposal by Monday May 1 @ 12:30 pm that indicates that the topic and thesis are acceptable. You may also submit on Monday May 1 and I will get you feedback by Tuesday May 2 @ 12:30 pm.

Due date

Submissions are due Friday 5 May 2017, 11:59:00 pm. You are welcome to turn this in as late as Wednesday 10 May and will be charged no late days.

What to turn in?

Each team should submit a single PDF document and all code in a tar.gz file. The PDF should minimally describe the following:

  • What is the thesis of your project? What is the driving science question, issue, software problem?
  • What did you do? Describe the activities that were undertaken.
  • What did you find? Does it support or refute the thesis of the project.
  • What principle in parallel computing does this project explore?
  • (For team projects) What did each individual team member contribute to the technical work and the writeup of the project?

We would expect that this writeup would be 2 pages for a single person project, 3 for two person project, etc. Be concise in explaining your project


Please turn these in via the Grad Final Project assignment in Blackboard.