This specialization is intended for data scientists and software developers to create software that uses commonly available hardware. Students will be introduced to CUDA and libraries that allow for performing numerous computations in parallel and rapidly. Applications for these skills are machine learning, image/audio signal processing, and data processing.

Discover new skills with 30% off courses from industry experts. Save now.


GPU Programming Specialization
Solve Challenges with Powerful GPUs. Develop mastery in high performance computing and apply to numerous fields.

Instructor: Chancellor Thomas Pascale
11,932 already enrolled
Included with
Recommended experience
Recommended experience
What you'll learn
Develop CUDA software for running massive computations on commonly available hardware
Utilize libraries that bring well-known algorithms to software without need to redevelop existing capabilities
Overview
Skills you'll gain
- Artificial Neural Networks
- Computer Graphics
- Event-Driven Programming
- Performance Tuning
- Deep Learning
- Numerical Analysis
- Machine Learning Methods
- Machine Learning
- Distributed Computing
- Software Development
- Computer Vision
- Data Structures
- Image Analysis
- Linear Algebra
- System Programming
- Programming Principles
- Data Processing
- Scalability
- Performance Testing
- C and C++
What’s included

Add to your LinkedIn profile
Advance your subject-matter expertise
- Learn in-demand skills from university and industry experts
- Master a subject or tool with hands-on projects
- Develop a deep understanding of key concepts
- Earn a career certificate from Johns Hopkins University

Specialization - 4 course series
What you'll learn
Students will learn how to develop concurrent software in Python and C/C++ programming languages.
Students will gain an introductory level of understanding of GPU hardware and software architectures.
Skills you'll gain
What you'll learn
Students will learn how to utilize the CUDA framework to write C/C++ software that runs on CPUs and Nvidia GPUs.
Students will transform sequential CPU algorithms and programs into CUDA kernels that execute 100s to 1000s of times simultaneously on GPU hardware.
Skills you'll gain
What you'll 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.
Skills you'll gain
What you'll learn
You will learn to develop software that performs high-level mathematics operations using libraries such as cuFFT and cuBLAS.
You will learn to use the Thrust library to perform a number of data manipulation and data structures that abstract away memory management.
You will learn to develop machine learning software for a variety of purposes using neural networks modeled using the cuTensor and cuDNN libraries.
Skills you'll gain
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
When you complete this Specialization, you may be able to have your learning recognized for credit if you are admitted and enroll in one of the following online degree programs.¹
Instructor

Offered by
Why people choose Coursera for their career





Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Each course in the specialization is aimed to be completed in 1 month. The full specialization should be completed in 4 months.
Prospective students should have a minimum of 1 year of programming experience. A high level of comfort in programming in C/C++ will aid in the absorbtion of material and completion of assignments.
Each course in the specialization should be completed in the following order:
Introduction to Concurrent Programming with GPUs
Introduction to Parallel Programming with CUDA
CUDA at Scale for the Enterprise
CUDA Advanced Libraries
More questions
Financial aid available,