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

Instructor: Chancellor Thomas Pascale
Access provided by Foundation University Islamabad
17,898 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 assignments
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

There are 5 modules in this course
The purpose of this foundational module is to prepare students for success within the GPU Programming Specialization. To this end, the module presents the course's overall goals and technical expectations and guides utilizing the Coursera lab environment. Students will conclude by completing an introductory C++ programming assignment to ensure they are equipped for the curriculum.
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 assignments2 programming assignments1 discussion prompt2 ungraded labs
In order to write effective GPU-accelerated software, a developer must first understand the underlying hardware architecture and the software ecosystem that enables it. In this module, students will be presented with the key hardware architectures of NVidia GPUs. Additionally, they will learn about the CUDA software layers, the installation and compilation process, and the core differences between the Runtime and Driver APIs.
What's included
9 videos1 reading1 assignment2 programming assignments1 discussion prompt1 ungraded lab
The purpose of this module is to transition from theory to practice by introducing the fundamentals of GPU programming. Students will learn the essential CUDA software keywords and syntax required for writing device code. They will also be guided through best practices for structuring both simple and complex projects, applying these concepts in hands-on assignments within common development environments.
What's included
6 videos1 reading1 assignment2 programming assignments1 discussion prompt1 ungraded lab
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor

Offered by
Why people choose Coursera for their career




Explore more from Computer Science
Johns Hopkins University
Johns Hopkins University
Johns Hopkins University