This is a first course in parallel programming with GPUs in CUDA C and C++. This course covers introductory parallelism, basic hardware, parallel communication patterns, and primitive algorithms. The students will apply these topics to problems in scientific computing, image/signal processing, and linear algebra. At the end of the course, students will complete a final project in a topic of their choosing.
Steven I Reeves
Office: The interwebs
email: sireeves at ucsc dot edu
Office hours: Wednesdays 12pm-1pm
On Zoom! See canvas for details! It's from 5:20 to 6:55pm.
Note: Please don't distract other students with your screen in zoom. To assist in the flow of class, I will have everyone on mute. We will use the chat to ask questions and discuss implementations.
Behavior that violates the student code of conduct will result in a permanant ejection from the course.
An online format of the course is not ideal, but we need to work together to build a safe a productive learning environment.
Visit KeepLearning.ucsc.edu for additional resources about remote instruction.
For this class we will be using Applied Math and Astrophysics' supercomputer Lux. However, if you are auditing this class you may not have access to this node. If this is the case, please email me for possible alternative resources.
Directions on how to use Lux will be in the lecture notes, you can also see https://lux-ucsc.readthedocs.io/en/latest/using_lux.html
You can also use Hummingbird, a campus wide computational resource.
There's a class repository for the supplemental codes used in lectures. Some codes will be needed for you to complete your homework.
https://github.com/stevenireeves/ams148
CUDA Programming guide:
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
C++ beginner's guide:
https://beginnersbook.com/2017/08/c-plus-plus-tutorial-for-beginners/
Linear Algebra refresher:
https://stanford.edu/~shervine/teaching/cs-229/refresher-algebra-calculus
https://www.cs.cmu.edu/~zkolter/course/15-884/linalg-review.pdf
Numerical Linear Algebra:
https://files.transtutors.com/cdn/uploadassignments/472339_1_-numerical-linear-aljebra.pdf