Preliminary ABET-style Syllabus
CATALOG DATA:
EE 599 - Advanced Program Optimization & Parallelization: 3 Credits
How to make programs execute more efficiently on modern computer hardware ranging from simple microcontrollers to supercomputers. Language constructs and compiler optimization; performance-critical architectural and hardware implementation features; use of published information to drive creation of more efficient code; identification of performance problems; identification and use of parallelism.
Grading will be based on two in-class exams and speedups obtained using specific techniques to improve a small set of benchmark programs.
TEXTBOOK
:None required - Course notes
COORDINATOR
:Dr. Henry G. Dietz, Professor
GOALS
:The goal of this course is to enable students to improve the efficiency of their programs by fostering a deep understanding of how program constructs interact with specific architectural and hardware implementation structures. This same understanding also can be applied to optimize an architecture and its implementation for a specific program.
PREREQUISITE
:Undergraduate standing, EE380, fluency in C or Fortran
TOPICS
:OUTCOMES
:Upon completion of this course the students should demonstrate the ability to:
COMPUTER
USAGE:
Students will perform open-ended experiments improving the performance of programs
that initially have specific performance problems.
DESIGN CONTENT:
Students will modify programs written in C to take advantage of the concepts
presented in class, thereby achieving speedup for these programs.
CLASS SCHEDULE:
Lecture 3 hours per week.
PROFESSIONAL CONTRIBUTION:
Engineering Science: 1 Credit (33%)
Engineering Design: 2 Credits (67%)
RELATION OF COURSE TO PROGRAM OBJECTIVES:
These course outcomes fulfill the following program objectives:
PREPARED BY: Henry G. Dietz DATE: January 14, 2003