Course

GPU Programming

Johns Hopkins University

Discover the potential of GPU programming with this specialization, designed for data scientists and software developers. Dive into CUDA and libraries that enable parallel computations for machine learning, image/audio signal processing, and data processing.

Throughout the course, you will develop mastery in high-performance computing, learning to create software that runs massive computations on commonly available hardware. Gain expertise in utilizing libraries to bring well-known algorithms to software without the need to redevelop existing capabilities.

  • Introduction to Concurrent Programming with GPUs
  • Introduction to Parallel Programming with CUDA
  • CUDA at Scale for the Enterprise
  • CUDA Advanced Libraries

Certificate Available ✔

Get Started / More Info
GPU Programming
Course Modules

Gain expertise in GPU programming through four comprehensive modules. Learn concurrent and parallel programming with GPUs, CUDA at scale for enterprise applications, and advanced libraries for high-level mathematics operations and machine learning.

Introduction to Concurrent Programming with GPUs

Students will learn how to develop concurrent software in Python and C/C++ programming languages. Gain an introductory level of understanding of GPU hardware and software architectures.

Introduction to Parallel Programming with CUDA

Utilize the CUDA framework to write C/C++ software that runs on CPUs and Nvidia GPUs. Transform sequential CPU algorithms and programs into CUDA kernels that execute 100s to 1000s of times simultaneously on GPU hardware.

CUDA at Scale for the Enterprise

Develop software that can be run in computational environments with multiple CPUs and GPUs. Create interactive GPU computational processing kernels for handling asynchronous data, and solve programming challenges including image processing using CUDA, hardware memory capabilities, and algorithms/libraries.

CUDA Advanced Libraries

Learn to perform high-level mathematics operations using libraries such as cuFFT and cuBLAS. Utilize the Thrust library for data manipulation and structures that abstract away memory management. Develop machine learning software for various purposes using neural networks modeled using libraries such as cuTensor and cuDNN.

More Software Development Courses

Browser-based Models with TensorFlow.js

DeepLearning.AI

Browser-based Models with TensorFlow.js is a Specialization that teaches you how to train and run machine learning models in any browser using TensorFlow.js. It...

Game Design and Development 3: 3D Shooter

Michigan State University

Embark on the journey of game design and development with this advanced course focusing on 3D shooter games.

More C# Programming and Unity

University of Colorado System

More C# Programming and Unity is a comprehensive course for aspiring game developers, delving into advanced C# programming and Unity game development.

計算機程式設計 (Computer Programming)

National Taiwan University

This course introduces computer programming in C, covering basic operations, programming concepts, and practical applications, equipping students with essential...