Assignment 1
Version 1.0
Select and Assess
Overview
There is one assignment in this course in three parts. You evaluate, upgrade
and optimize an application that you expect would benefit from parallelization.
In your final presentation you report your successes, if any, achieved at each
stage. Your metrics include speedup and hiding of memory latency.
Preliminary Steps
You work in a group of no more than three students unless otherwise approved
by your instructor. Firstly, you form a group within which you will do
your work. Once you have joined a group, you enter your name with the
group name on the student page on the course
You appoint a group leader who creates a wiki page for reporting all group work.
You will find a link to a sample group page on the Group and Project Index of
the course .
After your group leader has created the group page, they add an entry that points
to that group page on the course Group and Projects Index page.
Specifications
For the first part of the assignment, each member of your group selects a different
application that they wish to parallelize. You profile your application and
determine the feasability of speeding it up using the GPU. You use
gprof to identify the hotspots that might benefit from
offloading to the GPU. You examine the code within the hotspots and determine
if any part of the application is relatively easy to parallelize.
You may select standard applications that involve nested iterations, but do not
include data dependencies. Alternatively, you may find an outside client
who agrees to let your group convert their existing code to run on a GPU.
Examples of standard applications include:
Recommendation
The last section of the first assignment involves recommending one particular application
from the set investigated by your group. Once each member has profiled their own
application, your group selects the application that all of you believe offers the best
opportunity for improvement.
Submissions
Your submission is in two-parts:
- through , which
includes:
- files containing the source code and all data required to run your application
on a Linux platform
- supplementary notes listing your principal observations - enter these in
the Notes textbox
- through the course , which
includes:
- profiling details for each group member
- reasons for your group's recommendation to select a particular application
Grading
Your submission for this assignment is individual. The
remaining submissions are group submissions.
The penalty for late submission is 30% of the assignment mark.
If the submission is not workable, you will be asked to resubmit and
charged a penalty of 50%. The due date is posted in .
|