CUDA Advanced Libraries
Offered By: Johns Hopkins University via Coursera
Course Description
Overview
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.
Syllabus
- Course Overview
- 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
- 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.
- CUDA Machine Learning
- Data Scientists, Machine Learning, and Artificial intelligence experts are using neural networks to solve problems such as human language translation, image classification, and object detection/avoidance. Using the cuDNN and cuTensor, students will be able to develop a variety of neural networks and similar structures. At the completion of this module students will be asked to develop a course-wide project that brings together their knowledge from all previous courses and lessons to develop a capstone software project.
Taught by
Chancellor Thomas Pascale
Tags
Related Courses
Algorithms with NumbersSaint Petersburg State University via Coursera Dynamic Programming, Greedy Algorithms
University of Colorado Boulder via Coursera Nanophotonic Modeling
Purdue University via edX Programming Graphics III: Painting with Sound
Skillshare Discrete Time Signal Processing
Indian Institute of Technology, Kharagpur via Swayam