CX-4803-GPU / CSE-6230-B - Parallel Computing Programming and Applications
Instructor information
Lectures: M W 6:30-7:45pm
Location: Boggs B9
Instructor: Qi Tang
Email: qtang@gatech.edu
Office Hours: Tuesdays 2-4 PM on zoom
TA: Amrutha Praveen
Email: aothayoth3@gatech.edu
Office Hours: Wednesday 3-4 PM on zoom
Course description
This course covers the practical and theoretical aspects of parallel computing and their applications. It will focus on OpenMPI, MPI, GPU programming (CUDA), practical tools, and scientific applications such as 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
- Practical tools and scientific applications (Kokkos, PETSc, Cabanna, 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 three textbooks are either available freely online or accessible electronically through GT's library. The first two books have been uploaded to Canvas. 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
- CUDA by Example: An Introduction to General-Purpose GPU Programming, Jason Sanders and Edward Kandrot
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.
Graduate vs undergraduate sections
Both the graduate and undergraduate sections will meet together for lectures. Students in the graduate and undergraduate sections will be graded on separate, independent grade scales. Graduate students will be assigned an additional independent mini project. In addition, for the final project, graduate student projects should have a stronger research component, aiming for results comparable to a conference or journal publication.
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..