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

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
Computer Vision and Image Processing Fundamentals (edX) EdX
IBM

Computer Vision and Image Processing Fundamentals (edX)

Learn about computer vision, one of the most exciting fields in machine learning. artificial intelligence and computer science. Computer Vision is one of the most exciting fields in Machine Learning, computer science and AI. It has applications in many industries such as self-driving cars, robotics, augmented reality, face detection in law enforcement agencies.

Self Paced
Self-Paced
Building a RISC-V CPU Core (edX) EdX
Linux Foundation,LinuxFoundationX

Building a RISC-V CPU Core (edX)

Create a RISC-V CPU with modern open source circuit design tools, methodologies, and microarchitecture, all from your browser. Building a RISC-V CPU Core is designed for anyone with a technical inclination who is interested in learning more about hardware. Whether you are new to digital logic or are a seasoned veteran, students will take away new skills that can be applied immediately. No prior knowledge of digital logic design is required.

Self Paced
Self-Paced
Custom and Distributed Training with TensorFlow (Coursera) Coursera
DeepLearning.AI

Custom and Distributed Training with TensorFlow (Coursera)

In this course, you will: • Learn about Tensor objects, the fundamental building blocks of TensorFlow, understand the difference between the eager and graph modes in TensorFlow, and learn how to use a TensorFlow tool to calculate gradients; • Build your own custom training loops using GradientTape and TensorFlow Datasets to gain more flexibility and visibility with your model training; • Learn about the benefits of generating code that runs in graph mode, take a peek at what graph code looks like, and practice generating this more efficient code automatically with TensorFlow’s tools; • Harness the power of distributed training to process more data and train larger models, faster, get an overview of various distributed training strategies, and practice working with a strategy that trains on multiple GPU cores, and another that trains on multiple TPU cores.

Sep 21st 2026
4 Weeks
Introduction to OpenCL on FPGAs (Coursera) Coursera
Intel Corporation

Introduction to OpenCL on FPGAs (Coursera)

OpenCL™ is a standard for writing parallel programs for heterogeneous systems, much like the NVidia* CUDA* programming language. In the FPGA environment, OpenCL constructs are synthesized into custom logic. An overview of the OpenCL standards will be discussed. You will learn about the platform, execution, memory, and programming models that define the OpenCL specification. Syntax of the OpenCL language will be discussed, and you will see examples of OpenCL usage.

Mar 4th 2024
5-12 Weeks
Understanding Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation

Understanding Computer Systems (FutureLearn)

Understand how the components of a computer system interact with each other on this online course for computing teachers. Learn what really happens when you turn a computer on. Understanding how a computer works after you press the power button is key to working with technology effectively. On this course, you will explore what happens inside the machine and learn how computers turn inputs into outputs.

Nov 1st 2021
3 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
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
CUDA Advanced Libraries (Coursera) Coursera
Johns Hopkins University

CUDA Advanced Libraries (Coursera)

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.

Sep 14th 2026
5-12 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
С/C++ for competitive programming (Coursera) Coursera
Moscow Institute of Physics and Technology

С/C++ for competitive programming (Coursera)

C and C++ are the most popular programming languages in competitive programming, the most convenient and frequently used in competitions. The «C/C++ for competitive programming» online course will introduce the basic concepts of the language, such as variables, data types, conditionals, loops, functions, and others.

Jul 25th 2022
5-12 Weeks