You are here: Home Syllabus

Syllabus

Summary of class logistics and content.

CSE 6230 / CS 6230  ::  Fall 2008

High-Performance Computing: Tools and Applications

 

Description.

The goal of this course is to provide a graduate-level introduction to high-performance parallel, distributed, network computing. The emphasis is on the recent history and current trends in parallel computer architectures, programming models (languages and libraries), and systems (operating systems and I/O). The course includes a number of hands-on assignments and a final project.

The course is based on Prof. Jeff Vetter's Fall 2007 offering, and will cover the following major topic areas:

  • Parallel computer architectures, incl. processors, memory, and networks
  • Performance analysis and modeling
  • Algorithmic primitives (e.g., scans, trees, sorting)
  • Parallel programming models (e.g., MPI, PGAS languages, domain-specific languages)
  • Single-core, single-node performance tuning
  • Compiler-based automatic parallelization
  • Parallel I/O and file systems
  • Debugging
  • Research topics in accelerators, autotuning, modeling assertions, ...
Logistics.

When? T/Th, 12 to 1:30pm

Where? College of Computing (CoC) Building, Room 52

Who?

  • Prof. Richard Vuduc  [www]
  • Office hours: T/Th, 1:30 to 2:30pm
  • Virtual office hours: AIM VuducOfficeHours

Who does the actual work?

  • Teaching assistant: Yu (Eric) Liu [www]
  • Office hours: Wed, 1:00 to 2:00pm @ CoC common area

Class e-mail: cse6230-hpcta-fa08 /at/ googlegroups.com

Class Google group: http://groups.google.com/group/cse6230-hpcta-fa08

Class home page: http://vuduc.org/teaching/cse6230-hpcta-fa08

Course materials.

I will post all necessary course materials (links to papers/readings) on the course website. We will use the course T-Square site for homework and project submissions.


There are no required textbooks for this course. However, you may find the following references useful:

Prerequisites.

This course is intended for graduate students and is also open to senior-level undergraduates (by permission of instructor).  Participants should be proficient in C or Fortran programming and have strong user-level knowledge of (preferred) Linux/Unix platforms. Some exposure to computer systems (architectures, compilers, and/or operating systems), and algorithms is recommended for undergraduates.

Grading and honor code.

Grading and course requirements:

  • 20%: Participation (attendance & pop-quizzes)
  • 40%: Homework / mini-projects
  • 40%: Final project (report + presentation)

This course is taught under the Georgia Tech Honor Code. In the context of this course, this means that all work submitted by a student will be his or her own work. For individual assignments and quizzes, each student must do their own work. In the case of group assignments, project submissions, or of projects which are part of a larger ongoing research project, the final report has a required section in which each student must detail which portions of the work were completed through their personal work and which portions was the work of others.

Homework assignments are due at the beginning of class. The credit given to a homework is reduced by half for each day it is late.

There will be approximately 8 to 10 in-class pop quizzes throughout the semester, graded on a scale of 2, 1, or 0 points. If you miss a pop quiz, you will get 0 points. The bottom 3 or 4 pop quizzes will be dropped before computing the final grade.

Policy for auditors.

If there are enough physical seats in the class, auditors are welcome (whether registered for credit or not). If you want to audit and need credit, I'll ask that you participate during the final project presentations, giving a short talk on your research and how it relates to HPC or any of the topics covered in class. You may do and turn in assignments; we will try to look at them and provide feedback but cannot guarantee we will have the time/resources to do so.

Document Actions