CUDA at Scale for the Enterprise (Coursera)

CUDA at Scale for the Enterprise (Coursera)

This course will aid in students in learning in concepts that scale the use of GPUs and the CPUs that manage their use beyond the most common consumer-grade GPU installations. They will learn how to manage asynchronous workflows, sending and receiving events to encapsulate data transfers and control signals. Also, students will walk through application of GPUs to sorting of data and processing images, implementing their own software using these techniques and libraries.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of the course, you will be able to do the following:

  • Develop software that can use multiple CPUs and GPUs
  • Develop software that uses CUDA’s events and streams capability to create asynchronous workflows
  • Use the CUDA computational model to to solve canonical programming challenges including data sorting and image processing

To be successful in this course, you should have an understanding of parallel programming and experience programming in C/C++.
This course will be extremely applicable to software developers and data scientists working in the fields of high performance computing, data processing, and machine learning.
Course 3 of 4 in the GPU Programming Specialization.

What You Will Learn

  • Students will learn to develop software that can be run in computational environments that include multiple CPUs and GPUs.
  • Students will develop software that uses CUDA to create interactive GPU computational processing kernels for handling asynchronous data.
  • Students will use CUDA, hardware memory capabilities, and algorithms/libraries to solve programming challenges including image processing.

Syllabus

WEEK 1
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.

WEEK 2
Multiple CPU/GPU Systems
In professional settings, use of one CPU managing one GPU, is not a viable configuration to solve complex challenges. Students will apply CUDA capabilities for allowing multiple CPUs to communicate and manage software kernels on multiple GPUs. This will allow for scaling the size of input data and computational complexity. Students will learn the advantages and limitations of this form of synchronous processing.

WEEK 3
CUDA Events and Streams
Students will learn to utilize CUDA events and streams in their programs, to allow for asynchronous data and control flows. This will allow more interactive and long-lasting software, including analytic user interfaces, near live-streaming video or financial feeds, and dynamic business processing systems.

WEEK 4
Sorting Using GPUs
The purpose of this module is for students to understand the basis in hardware and software that CUDA uses. This is required to appropriately develop software to optimally take advantage of GPU resources.

WEEK 5
Image Processing using Nvidia Programming Primitives
The purpose of this module is for students to understand the principles of developing CUDA-based software.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Intro to Artificial Intelligence (Udacity) Udacity
Udacity

Intro to Artificial Intelligence (Udacity)

This course will introduce you to the basics of AI. Topics include machine learning, probabilistic reasoning, robotics, computer vision, and natural language processing. Artificial Intelligence (AI) is a field that has a long history but is still constantly and actively growing and changing. In this course, you’ll learn the basics of modern AI as well as some of the representative applications of AI.

Self Paced
Self-Paced
Introduction to Machine Learning with Python (Coursera) Coursera
Arizona State University

Introduction to Machine Learning with Python (Coursera)

This course will give you an introduction to machine learning with the Python programming language. You will learn about supervised learning, unsupervised learning, deep learning, image processing, and generative adversarial networks. You will implement machine learning models using Python and will learn about the many applications of machine learning used in industry today. You will also learn about and use different machine learning algorithms to create your models.

Aug 24th 2026
4 Weeks
Basics of Mathematical Modeling of Systems (edX) EdX
National Research Nuclear University MEPhI,MEPhIx

Basics of Mathematical Modeling of Systems (edX)

Basics of scientific visualization in mathematical modeling of systems – the course teaches the basics of scientific visualization of data obtained as a result of mathematical modeling of various systems and processes using C#. The aim of the course is to familiarize the listeners with approaches in scientific visualization of the results obtained from mathematical modeling of various systems and processes using C# with concrete examples.

Self Paced
Self-Paced
Image Analysis Methods for Biologists (FutureLearn) FutureLearn
The University of Nottingham

Image Analysis Methods for Biologists (FutureLearn)

Get an introduction to image acquisition and analysis for biologists – from basic techniques to the future of image analysis. Improve your image analysis knowledge and ability to analyse your images. The use of automatic image analysis in the biological sciences has increased significantly in recent years, especially with automated image capture and the rise of phenotyping.

Available now
4 Weeks
Shell Programming - A necessity for all Programmers (edX) EdX
IIT Bombay,IITBombayX

Shell Programming - A necessity for all Programmers (edX)

Unleash your Linux scripting skills and amaze others with your productivity level. Various programming languages have gained popularity since 1970. Starting with Assembly, C, C++, and moving towards Java, Python, and finally building of backend and frontend frameworks, all of these became popular and were or getting replaced with some other language or framework. Shell programming (scripting) is the only programming language that has been popular and the choice of programmers, testers, system administrators, etc., from 1970 to date (21st century).

Self Paced
Self-Paced
Robotic Vision: Processing Images (FutureLearn) FutureLearn
Queensland University of Technology

Robotic Vision: Processing Images (FutureLearn)

How do computers process images? Learn about image processing and image features, and how robots can be programmed to see. Programming a robot to see requires knowing the principles of vision, mathematical knowledge and programming skills. We explore how computers process images, learning the operations required to process an image using MATLAB.

No sessions available
4 Weeks
High Performance Computing (Udacity) Udacity
Georgia Institute of Technology,Udacity

High Performance Computing (Udacity)

The goal of this course is to give you solid foundations for developing, analyzing, and implementing parallel and locality-efficient algorithms. This course focuses on theoretical underpinnings. To give a practical feeling for how algorithms map to and behave on real systems, we will supplement algorithmic theory with hands-on exercises on modern HPC systems, such as Cilk Plus or OpenMP on shared memory nodes, CUDA for graphics co-processors (GPUs), and MPI and PGAS models for distributed memory systems.

Self Paced
Self-Paced
Using GPUs to Scale and Speed-up Deep Learning (edX) EdX
IBM

Using GPUs to Scale and Speed-up Deep Learning (edX)

Training complex deep learning models with large datasets takes a long time. In this course, you will learn how to use accelerated GPU hardware to overcome the scalability problem in deep learning. Training a complex deep learning model with a very large dataset can take hours, days and occasionally weeks to train. So, what is the solution? Accelerated hardware.

No sessions available
5-12 Weeks
Introduction to Microprocessors (edX) EdX
Arm Education,ArmEducationX

Introduction to Microprocessors (edX)

An introduction to computer architecture, microprocessors and CPUs. Learn about the basic components of a PC, what they do, how they talk to each other and how object code gets transformed into machine code. The topics covered by this course are key to anyone interested in computer hardware engineering but also an essential foundation for software programming.

Self Paced
Self-Paced
Introduction to Neurohacking In R (Coursera) Coursera
Johns Hopkins University

Introduction to Neurohacking In R (Coursera)

Neurohacking describes how to use the R programming language and its associated package to perform manipulation, processing, and analysis of neuroimaging data. We focus on publicly-available structural magnetic resonance imaging (MRI). We discuss concepts such as inhomogeneity correction, image registration, and image visualization.

Sep 7th 2026
4 Weeks
Digital Signal Processing 4: Applications (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Digital Signal Processing 4: Applications (Coursera)

Digital Signal Processing is the branch of engineering that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of on-demand entertainment. By reworking the principles of electronics, telecommunication and computer science into a unifying paradigm, DSP is a the heart of the digital revolution that brought us CDs, DVDs, MP3 players, mobile phones and countless other devices.

Sep 14th 2026
3 Weeks