When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 5 modules in this course
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.
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.
The purpose of this module is for students to understand how the course will be run, topics, how they will be assessed, and expectations.
Development Tools and C/C++ Refresher Material•10 minutes
1 programming assignment•Total 120 minutes
CUDA Device Memory Analysis Assignment•120 minutes
2 discussion prompts•Total 20 minutes
Enterprise Data Processing Discussion Prompt•10 minutes
Canonical Algorithms Discussion Prompt•10 minutes
1 ungraded lab•Total 60 minutes
CUDA Device Memory Lab•60 minutes
Multiple CPU/GPU Systems
Module 2•10 hours to complete
Module details
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.
CUDA GPU Identification Laboratory Activity•60 minutes
CUDA Events and Streams
Module 3•4 hours to complete
Module details
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.
CUDA Streams and Events Assignment Walkthrough•7 minutes
2 readings•Total 20 minutes
CUDA Streams External Resources•10 minutes
CUDA Streams and Events External Resources•10 minutes
1 programming assignment•Total 120 minutes
CUDA Streams and Events Assignment•120 minutes
1 discussion prompt•Total 10 minutes
CUDA Streams and Events Discussion•10 minutes
1 ungraded lab•Total 60 minutes
CUDA Streams and Events Lab Activity•60 minutes
Sorting Using GPUs
Module 4•5 hours to complete
Module details
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.
The mission of The Johns Hopkins University is to educate its students and cultivate their capacity for life-long learning, to foster independent and original research, and to bring the benefits of discovery to the world.
Yes, but for grading purposes you will still need to upload any software artifacts (source code, header files, etc.) into the Coursera lab environment.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.