CS 680 High Performance Computing

Covers the design, evaluation and use of high-performance processors,
including instruction set architecture, pipelining, superscalar execution,
instruction level parallelism, vector instructions, memory hierarchy,
parallel computing, and high-performance I/O. Special attention is given to
the effective utilization of these features, including automated techniques,
in the design and optimization of performance-driven software.

Course Objective

Familiarity with advanced features of computer architecture designed to
improve performance. Ability to tailor software to more effectively utilize
these features. Proficiency at measuring and analyzing the performance of
software on a given architecture.

Grading

Assignments 30% (3 at 10)

Quizzes 30%

Final Project 40%

Final grades will be determined by your total points weighted according
to this distribution. Grades will be curved based on relative student
performance. Students who successfully complete all of the homework and
do reasonably well on the exams should receive a B. Students with high
exam and project scores and who do well on the assignments will receive an A.

All assignments must be completed alone unless otherwise stated. No Late assignments
will be accepted without prior approval.