Skip to content

Latest commit

 

History

History
133 lines (95 loc) · 5.79 KB

README.md

File metadata and controls

133 lines (95 loc) · 5.79 KB

Syllabus: Introduction to High-Performance Computing

  • Course: IAM751/851
  • Website: The class notes etc. will go on the Course Wiki Page
  • Instructor: Kai Germaschewski, [email protected], Morse 245E
  • Office Hourse: Morse 245E, Mon 2-3pm, Wed 2-4pm
  • Need help?
    • Gitter
      • It sends message digests to people who aren't active in the room, so feel free to ask a question even if no one's around.
    • Look through and create issues
    • Email for 1-on-1 help, or to set up a time to meet

Course Summary

Topics include: Elementary Numerical Methods, Algorithm Development and Optimization, Parallel Programming Techniques, Distributed Processing over Multiple CPUs, Code Management and Interfacing to Fortran/C Programming Libraries, Data Visualization, Source Control.

Course Description

This course gives an introduction into various areas of high-performance computing, providing a basis for writing and working with high-performance simulation codes.

The three main focus areas are "barely sufficient software engineering", basics of high-performance and parallel programming, and visualization. Special topics may include a modern HPC language like Julia, specific hardware architectures, automatic code generation and performance tuning.

The section on software engineering will introduce basic tools and methods for writing and maintaining portable code, selecting the right language for a task at hand, and exploiting existing tools.

In the section on high-performance computing, we will review the history of HPC, future directions and how it is now necessary to use parallelism at multiple levels. Basic parallel programming models will be introduced, with a focus on learning how to use MPI.

The last section will provide an overview of some of the visualization packages available, with a focus on getting to know python/pylab and visit.

Prerequisites

Enrollment in a CEPS graduate program, MATH 753, working knowledge of a programming language (C or Fortran), or by permission of instructor.

Reading

There is no required textbook for this class. Occasional readings assignments will be posted and particpants are expected to finish those before class time.

Some recommended books:

Grading Policy

Regular homework and reading assignments will be given and are expected to be completed by their due date. Late submissions may receive partial credit, but no credit is given after sample solutions are posted. Participation in class discussions and in-class exercises is required. Homework will be posted on the respective class web pages; it is your responsibility to check for new assignments.

In addition there will be two projects: one midterm project and one final project. Some projects may be divided into a number of subprojects which are expected to be finished by their individual due date, before the due date of the complete project. Some of the assignments will be designated as team efforts.

Every student is expected to give one presentation to the rest of the class during the course of the semester. You will research one specific topic (from the area of HPC) and introduce it to the rest of the class. Ideally, you will pick your topic yourself according to your interests, in coordination with the instructor.

The final grade will be calculated as follows: Homework assignments and class participation 30%, presentation 10%, midterm project: 30%, final project: 30%

Disability Services

The University is committed to providing students with documented disabilities equal access to all university programs and facilities. If you think you have a disability requiring accommodations, you must register with Disability Services for Students (DSS). If you have questions about the process, please contact DSS at (603) 862-2607 or [email protected] . If you are registered with DSS, and eligible for accommodations that you would like to utilize in this course, please forward that information to me in a timely manner so that we can meet privately in my office to review those accommodations.

Emotional or Mental Health Distress

Your academic success in this course is very important to me. If, during the semester, you find emotional or mental health issues are affecting that success, please contact the University’s Counseling Center (3rd floor, Smith Hall; 603 862-2090/TTY: 7-1-1) which provides counseling appointments and other mental health services.