This course will help prepare students for developing code that can process large amounts of data in parallel. It will focus on foundational aspects of concurrent programming, such as CPU/GPU architectures, multithreaded programming in C and Python, and an introduction to CUDA software/hardware.
Introduction to Concurrent Programming with GPUs
This course is part of GPU Programming Specialization
10,977 already enrolled
Recommended experience
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
Details to know
Add to your LinkedIn profile
4 quizzes
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- 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
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 5 modules in this course
The purpose of this module is for students to understand how the course will be run, topics, how they will be assessed, and expectations.
What's included
3 videos4 readings1 programming assignment2 discussion prompts1 ungraded lab
In order to create software that process greater amounts of data at faster speeds, software operating systems, programming languages, and frameworks require strategies for accessing and modification of data in a manner that maximizes speed, while minimizing the possibility of data being in incorrect states. In this module, students will be presented canonical concurrency problems such as the Dining Philosophers. Additionally, they will learn how operating systems and programming languages handle these problems, and discuss real world big data concurrency applications.
What's included
6 videos3 readings2 programming assignments1 discussion prompt1 ungraded lab
Modern programming languages allow developers to create software with complex logic for manipulation of data in parallel, taking advantage of the multiple CPU cores in most computers. Students will develop simple software, written in the C++ and Python 3 programming languages, that process data sets concurrently.
What's included
6 videos2 readings2 quizzes2 programming assignments1 discussion prompt2 ungraded labs
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.
What's included
9 videos1 reading1 quiz2 programming assignments1 discussion prompt1 ungraded lab
The purpose of this module is for students to understand the principles of developing CUDA-based software.
What's included
6 videos1 reading1 quiz2 programming assignments1 discussion prompt1 ungraded lab
Instructor
Offered by
Recommended if you're interested in Software Development
Johns Hopkins University
Johns Hopkins University
Johns Hopkins University
Why people choose Coursera for their career
New to Software Development? Start here.
Open new doors with Coursera Plus
Unlimited access to 7,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
Yes, but you will need to update code files to the labs and assignments. For modules 4 and 5 you will need to have an Nvidia GPU installed on your machine. The in-browser environment for labs and assignments is built to allow for all required programming.
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. 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.
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. If you only want to read and view the course content, you can audit the course for free.