COSC 89.25 GPU Programming and High Performance Computing
The GPU Computing course introduces students to the basic programming and algorithmic techniques for developing the modern parallel computer code for high-performance computing applications. Course topics will cover the fundamentals for GPU (CUDA) and CPU (multi-threading) parallel programming, parallel computer architecture, parallel data structures, parallelizable linear algebra, conjugate gradient and multigrid solvers, particle systems and N-body problems, and vectorization. The materials will be illustrated using large-scale computing examples and applications from computer graphics, computational physics, and machine learning.
Prerequisite
This course assumes an understanding of multi-variable calculus and linear algebra and proficiency in C++ programming. Students are recommended to take COSC 70 as a prerequisite or to show equivalent understanding and comfortableness with the associated materials.