Writing Faster Code – Spring 2008 (COT 4930 and COT 5930)

Dept. of Computer Science and Engineering, Florida Atlantic University, Boca Raton, FL

 

Course Description: This course focuses on software optimization in general. The students will use industry standard tools such as the Intel C++ Compiler, VTune performance analyzer. The course is expected to include hands-on development and will expose to students to good programming practices. Students can expect to learn software optimization as well as programming for multicore processors.

 

Prerequisite: COP 3530 Data Structures, good background in C programming

 

Textbook:

Software Optimization for High Performance Computing: Creating Faster Applications by Isom Crawford, Kevin Wadleigh

Code Complete by Steve McConnell, Microsoft Press,  2004, ISBN 0735619670

 

Instructor: Dr. Hari Kalva,  E-mail: hari@cse.fau.edu, Telephone: (561) 297-0511

 

Goals: This course is intended to provide a background and experience in the area high performance software development. Students will be able to apply software optimization techniques. Emphasis will be on programming for multi-core processors. Graphics Processing Units (GPU) on graphics cards are increasingly being used for generic programming. This course will also cover generic programming on GPUs.  

                                                                                                 

Topics:

 

  1. Introduction to software optimization
  2. Hardware overview
  3. Intel software development tools
  4. Debugging and defensive programming
  5. Software optimization techniques
  1. SIMD instruction set programming
  2. Multicore Programming
  3. Multithreaded Programming
  4. OpenMP
  5. Generic Programming on GPU

 

Grading:

            About 8 assignments including a project