Skip to main content

Section 6 How will I know how I am doing in the class?

Subsection 6.1 Projects

There will be four projects through out the semester. Each project will have check points to help you stay on track and not leave the work to the last day.

Project One: Setup (15%).

This project will give you exposure to the various tools used for HPC software development. You will have the opportunity to design a testsuite, write a driver routine, modify makefiles. This project will also introduce you to the errors associated with floating point computations.

Project Two: High Performance GEMM (20%).

This project will explore how algorithms interact with computer architecture. You will be introduced parallelization at different levels of the architecture: within a core and within a processor. You will experience the importance of amortization of data movement over useful computations (flops). You will be exposed to vector instructions, memory hiarchy, and OpenMP, as well as concepts like efficiency, rate of computation, speedup, and race conditions.

Project Three: Deriving a family of Algorithms (25%).

Through this project you will be exposed to the system behind algorithm development and programming. You will be exposed to the systematic derivation of algorithms. Formal derivation yields families of algorithms from which the most suited can be chosen. You will see how abstraction is the key to keeping algorithm development and coding manageable.

Project Four: HPC Explorations (25%).

For this project, you will have the opportunity to explore a topic of your interest. You may chose to apply the skills you learned from Project two to the operation of you picked for Project three, or you may choose to implement ideas described in a high performance computing research paper of your choice.

Subsection 6.2 Assessments

Projects.

85% of your final grade will depend on your projects. Some projects will be accompanied by a report and/or a short presentation. Your project grade depends on correctness, code style, the parts of the project you chose to implement and your contributions to the project as evaluated by your project group. More details will be provided with each project.

The code you submit as part of your project must be your own. While you are encouraged to collaborate with others in class to deepen your understanding, you may not look at or copy anyone's code. Your code cannot be copied to any source on the internet. Plagiarism detection software will be used on the projects to find students who have copied code from one another. Any program that you submit must be yours, and yours alone.

Participation.

Along with the projects, part of your grade will be based on your participation in class. You are expected to keep up with the materials and actively particpate in the class activites for the day. If you are not prepared to participate, you participation grade will be effected. 15% of your final grade will depend on your participation.

Subsection 6.3 Late Submissions and Missed Assignments

You will have a total of 4 slip days in increments of 1 day units (that is, 1 minute to 24 hours late = 1 slip day, etc.) to use throughout the semester to extend your project deadline. However, you may use upto two slip days on any particular assignment. Other than that, you may divide your slip days across the projects in any way you wish, subject to the 4 slip days total and the maximum 2 slip day per assignment. Slip days are to account for unexpected life circumstances and emergencies. Use your slip days wisely. If you use all your slip days and are unable to turn in your project on time for any reason then you will receive a 0 for that project.

Subsection 6.4 Final Grades

To summarize, your final grade will comprise of the following assessments

Category % of Final Grade
Projects 85%
Participation 15%

Final grades will be assigned according to the following standard criteria:

Final Average Letter Grade
94-100 A   
90-93 A-
87-89 B+
84-86 B   
80-83 B-
77-79 C+
74-76 C   
70-73 C-
60-69 D   
0-59 F   

Subsection 6.5 Academic Dishonesty

The University and the Department are committed to preserving the reputation of your UT degree. To guarantee that every degree means what it says it means, we must enforce a strict policy on academic honesty: Every piece of work that you turn in with your name on it must be yours. Students who violate University rules on scholastic dishonesty in assignments or exams are subject to disciplinary penalties, including the possibility of a lowered or 0 grade on an assignment or exam, failure in the course, and/or dismissal from the University. Plagiarizing the work of others (classmates or from the internet) will be considered academic dishonesty and will not be tolerated. You may not search for code to the projects given in the class on the internet. Moreover, you may not copy these solutions or be inspired by them and claim they are your own work. Plagiarism detection software will be used on the programs submitted in this class. If cheating is discovered, a report will be made to the Dean of Students.