- Level Foundation
- المدة 20 ساعات hours
- الطبع بواسطة Johns Hopkins University
-
Offered by
عن
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.الوحدات
GPU Programming Specialization
1
Videos
- GPU Programming Specialization Overview
2
Readings
- Course Overview
- Course Outline
Course Technical and Programming Expectations
1
Discussions
- GPU Interest Discussion
1
Videos
- Course Expectations Video
1
Readings
- Introductory C++ Programming Resources
Coursera Lab and Assignment Usage
- Introductory C++ Programming Assignment
1
Discussions
- General Programming Experience Discussion
1
Labs
- Introductory C++ Programming Lab Exercise
1
Videos
- Coursera Lab Assignments Overview Video
1
Readings
- VS Code and GitHub Resources
Concurrent Programming with Modern CPUs
1
Videos
- Real World Concurrent Programming
Concurrent Programming Pitfalls
1
Videos
- Concurrent Programming Pitfalls
Concurrent Programming Problems and Algorithms
- Dining Philosophers Assignment
- Sleeping Barber Problem Assignment
1
Labs
- Producer Consumer Laboratory Activity
2
Videos
- Concurrent Programming Problems and Algorithms Presentation
- Optional: Hungry Chickens Problem
1
Readings
- Optional Concurrent Programming Problems and Algorithms Resources
Concurrent Programming Patterns
1
Videos
- Concurrent Programming Patterns
1
Readings
- Optional Parallel Programming Resources
Serial Vs Parallel Programming and Flynn's Taxonomy
1
Discussions
- Flynn's Taxonomy Discussion
1
Videos
- Serial Versus Parallel Code and Flynn's Taxonomy
1
Readings
- Optional Serial Versus Parallel Programming Resources
Syntax and Parallel Programming Patterns of Python 3
1
Assignment
- Python 3 Parallel Programming Quiz
1
Videos
- Lesson 1 Python 3 Parallel Programming Syntax and Patterns Presentation Video Lecture
1
Readings
- Optional Python Parallel Programming Resources
Screen Capture of Execution of Multithreaded Python 3
- Python 3 Parallel Programming Assignment
1
Labs
- Python 3 Parallel Programming Lab Activity
2
Videos
- Lesson 2 Python 3 Laboratory Project Structure Video Lecture
- Lesson 2 Python 3 Assignment Project Structure Video Lecture
Syntax and Parallel Programming Patterns of C++
1
Assignment
- C++ Parallel Programming Quiz
1
Discussions
- Single Versus Multithreaded Programming Discussion
1
Videos
- Lesson 3 C++ Parallel Programming Syntax And Patterns Video Lecture
1
Readings
- Optional C++ Parallel Programming Resources
Screen Capture of Execution of Multithreaded C++
- C++ Parallel Programming Assignment
1
Labs
- C++ Parallel Programming Lab Activity
2
Videos
- Lesson 4 C++ Laboratory Project Structure Video Lecture
- Lesson 4 C++ Assignment Project Structure Video Lecture
Overview of NVidia versus integrated GPUs
1
Videos
- Integrated versus Dedicated GPUs
GUI/UI Tools for Identifying Installed GPU Hardware
1
Discussions
- GUI/UI Tools for Identifying Installed GPU Hardware Discussion
1
Videos
- GUI CLI Tools for Identifying Installed GPU Hardware
NVidia Hardware Architectures
1
Videos
- Nvidia GPU Architectures
1
Readings
- Nvidia GTC Keynote Presentation
Installation of CUDA on Linux
- NVCC Help Command Assignment
1
Videos
- CUDA Linux Installation
CUDA Software Layers and Compilation
1
Videos
- CUDA Software Layers
Compilation of CUDA Code
1
Labs
- CUDA Compilation Lab
2
Videos
- CUDA Code Compilation
- CUDA Help Lab and Assignment Walkthrough
CUDA Runtime and Driver APIs
- CUDA Software Layers and Compilation
1
Assignment
- Nvidia Software and Hardware Quiz
2
Videos
- CUDA Runtime Driver APIs
- CUDA Driver and Runtime APIs Lab and Assignment Walkthrough
Code Syntax for Determining Target Environment
1
Videos
- Code Syntax for Determining Target Environment Video
CUDA Software Keywords
- Simple CUDA Project Assignment
1
Labs
- Simple CUDA code Lab
2
Videos
- CUDA Keywords Video
- Simple CUDA Lab and Assignment Walkthrough
CUDA Programming in Text Editors and Integrated Development Environments
1
Videos
- CUDA IDE Programming Video
Complex CUDA Software Project Structure and Best Practices
- Complex CUDA Project Assignment
1
Assignment
- GPU Programming Quiz
1
Discussions
- End of Course Discussion
2
Videos
- CUDA Project Structure and Best Practices
- Complex CUDA Project Assignment Walkthrough
1
Readings
- Optional NVidia CUDA Programming Resources
Auto Summary
Embark on a journey to master the essentials of concurrent programming with the "Introduction to Concurrent Programming with GPUs" course. Designed for those keen to enhance their coding skills for handling vast data sets in parallel, this course delves into the core principles of concurrent programming. Learners will explore the intricacies of CPU and GPU architectures, engage in multithreaded programming using C and Python, and gain a preliminary understanding of CUDA software and hardware. Offered by Coursera, this foundational course spans 1200 minutes of comprehensive content, ensuring a well-rounded learning experience. Flexible subscription options, including Starter and Professional plans, cater to diverse learning needs and schedules. Ideal for IT and computer science enthusiasts, this course is perfect for beginners eager to build a strong foundation in concurrent programming and leverage the power of GPUs for efficient data processing. Join now and elevate your programming prowess to new heights!

Chancellor Thomas Pascale