CSE-6230-A
High Performance Parallel Computing
Instructor information
Lectures: 8-9:15 am MW
Location: Ford Environmental Sci & Tech L1255
Instructor: Qi Tang
Email: qtang@gatech.edu
Office Hours: Tuesdays 2-3 PM on zoom
TA1: TBD
Email: TBD
Office Hours: TBD
TA2: TBD
Email: TBD
Office Hours: TBD
Course description
This course covers the practical and theoretical aspects of parallel computing and their applications. It will focus on OpenMP, MPI, GPU programming (CUDA), practical tools, and scientific applications such as grid- and particle-based simulations.
Prerequisites
- Proficiency in C/C++ programming
- CS 1332, 1372, 2110 or CX 4010
- Some basic knowledge in Linux
Topics
- Overview of single processor computing
- Introduction to Git and PACE
- Parallel programming and theory
- Distributed memory (MPI) programming
- Multithreaded (OpenMP) programming
- GPU (CUDA) programming
- Portable frameworks and scientific applications (OpenMP offload, OpenACC, Kokkos, PETSc, etc)
Grading
The weights for the course grade are as follows.
Category | % |
---|---|
Mini group projects (during the semester) | 60% |
Group project participation | 10% |
Class participation | 10% |
Final project (due during exam week) | 20% |
The final course grade will be assigned based on the following scale.
Grade | % |
---|---|
A | 90-100% |
B | 80-89% |
C | 70-79% |
D | 60-69% |
F | 0-59% |
Textbooks
The following textbooks are available freely online. We would like to express our special thanks to Victor Eijkhout for his generosity in making his books freely available to the entire community.
- The Science of Computing, Victor Eijkhout
- Parallel Programming in Science and Engineering, Victor Eijkhout
Pre-class assignments
For most class meetings, there will be a pre-class assignment that you should complete beforehand. These assignments will form the basis for in-class discussions, so it is important that you complete them.
Class meetings
Class meetings are meant to be highly interactive and you are expected to attend if possible. You must be able to bring a laptop computer to class and are expected to complete short programming assignments in class.
Class management
We will use Canvas and Github Classroom to deliver course materials, announcements, and manage the discussion board. All course materials will be hosted on Github Classroom.
Course policies, expectations & guidelines
Plagiarism & academic integrity
Georgia Tech aims to cultivate a community based on trust, academic integrity, and honor. Students are expected to act according to the highest ethical standards. For more information on the Honor Code, please visit the OSI website.
Any student suspected of cheating or plagiarizing on a quiz, exam, or assignment will be reported to the Office of Student Integrity, which will investigate the incident and identify the appropriate penalty for violations.
Role of AI assistants
Georgia Tech provides specific guidelines for using AI in CS courses, and we will adhere to these guidelines as outlined.
Accommodations for individuals with disabilities
If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at (404) 894-2563 or website, as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodations letter. Please also email me as soon as possible in order to set up a time to discuss your learning needs.
Student-faculty expectations
The Georgia Tech community believes that it is important to continually strive for an atmosphere of mutual respect, acknowledgement, and responsibility between faculty members and the student body. Therefore, we herein endeavors to enumerate the specific expectations of each side. See here for more details.
Acknowledgements
I would like to thank Prof. Sean Couch for offering many useful suggestions and generously sharing course materials with me.