Intro to Parallel Programming
Offered By: Nvidia via Udacity
Course Description
Overview
Learn the fundamentals of parallel computing with the GPU and the CUDA programming environment! In this class, you'll learn about parallel programming by coding a series of image processing algorithms, such as you might find in Photoshop or Instagram. You'll be able to program and run your assignments on high-end GPUs, even if you don't own one yourself.
Why It’s Important to Think Parallel
Third Pillar of Science
Learn how scientific discovery can be accelerated by combining theory and experimentation with computing to fight cancer, prevent heart attacks, and spur new advances in robotic surgery.
Why Take This Course?
You'll master the fundamentals of massively parallel computing by using CUDA C/C++ to program modern GPUs. You'll learn the GPU programming model and architecture, key algorithms and parallel programming patterns, and optimization techniques. Your assignments will illustrate these concepts through image processing applications, but this is a parallel computing course and what you learn will translate to any application domain. Most of all we hope you'll learn how to think in parallel.
Syllabus
Lesson 1: GPU Programming Model
Project 1: Greyscale Conversion (for that classy touch!)
Lesson 2: GPU Hardware and Parallel Communication
Project 2: Smart Blurring (miracle product for removing wrinkles!)
Lesson 3: Fundamental Parallel Algorithms
Project 3: HDR Tonemapping (when 1000:1 contrast is not enough!)
Lesson 4: Using Sort and Scan
Project 4: Red Eye Removal (soothing relief for bright red eyes)
Lesson 5: Optimizing GPU Programs
Project 5: Accelerating Histograms (when fast isn't fast enough)
Lesson 6: Parallel Computing Patterns
Project 6: Seamless Image Compositing (polar bear in the swimming pool)
Lesson 7: The Frontiers and Future of GPU Computing
Taught by
John Owens and David Luebke
Related Courses
Automated and Connected Driving ChallengesRWTH Aachen University via edX Basics in computer vision
Higher School of Economics via Coursera Build a Guessing Game Application using C++
Coursera Project Network via Coursera С/C++ for competitive programming
Moscow Institute of Physics and Technology via Coursera C++ Interacting with the World and Error Handling
Infosec via Coursera