This course will complete the GPU specialization, focusing on the leading libraries distributed as part of the CUDA Toolkit. Students will learn how to use CuFFT, and linear algebra libraries to perform complex mathematical computations. The Thrust library’s capabilities in representing common data structures and associated algorithms will be introduced. Using cuDNN and cuTensor they will be able to develop machine learning applications that help with object detection, human language translation and image classification.
What you will learn
The purpose of this module is for students to understand how the course will be run, topics, how they will be assessed, and expectations.
cuFFT provides the ability to perform fast Fourier transforms (FFTs) on large datasets. Students will learn of common use cases such as fast multiplication of large polynomials, signal processing, and matrix operations. They will use this library to develop software that process audio or video signals.
CUDA Linear Algebra
The CUDA Toolkit includes a number of linear algebra libraries, such as cuBLAS, NVBLAS, cuSPARSE, and cuSOLVER. Students will learn the different capabilities and limitations of many of them and apply that knowledge to compute matrix dot products, determinant, and finding solutions to complex linear systems.
The CUDA Thrust Library
Most developers utilize data structures beyond the primitives and pointers that make up the core of CUDA programmers, which makes pure CUDA development difficult. Students will learn about the Thrust library that adds the vector data structure and associated algorithms that allow for simplification of their code. Students will create software that transform, reduction, and sort large datasets.