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

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
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
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
Sparse Representations in Image Processing: From Theory to Practice (edX) EdX
IsraelX

Sparse Representations in Image Processing: From Theory to Practice (edX)

Learn about the deployment of the sparse representation model to signal and image processing. This course is a follow-up to the first introductory course of sparse representations. Whereas the first course puts emphasis on the theory and algorithms in this field, this course shows how these apply to actual signal and image processing needs.

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
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
Camera and Imaging (Coursera) Coursera
Columbia University

Camera and Imaging (Coursera)

This course covers the fundamentals of imaging – the creation of an image that is ready for consumption or processing by a human or a machine. Imaging has a long history, spanning several centuries. But the advances made in the last three decades have revolutionized the camera and dramatically improved the robustness and accuracy of computer vision systems. We describe the fundamentals of imaging, as well as recent innovations in imaging that have had a profound impact on computer vision.

Jul 27th 2026
5-12 Weeks
Sparse Representations in Signal and Image Processing: Fundamentals (edX) EdX
IsraelX

Sparse Representations in Signal and Image Processing: Fundamentals (edX)

Learn about the field of sparse representations by understanding its fundamental theoretical and algorithmic foundations. This course introduces the fundamentals of the field of sparse representations, starting with its theoretical concepts, and systematically presenting its key achievements. We will touch on theory and numerical algorithms.

Self Paced
Self-Paced
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