Multicore and GPGPU Programming

External: Coursera Courses ↗ · Coursera

Open Course on External: Coursera

Free to audit · Opens on External: Coursera

Multicore and GPGPU Programming

Coursera · Advanced ·🏗️ Systems Design & Architecture ·3mo ago

Key Takeaways

Provides a foundational understanding of parallel programming in CPU and GPU environments

Original Description

The course "Multicore and GPGPU Programming" provides a foundational understanding of parallel programming, focusing on developing high-performance, multi-threaded applications in both CPU and GPU environments. Beginning with a review of multicore processor architectures, caching mechanisms, and Non-Uniform Memory Access (NUMA) systems, students will learn the essentials of shared memory programming, synchronisation techniques, and the use of locks to ensure data integrity across threads. The course delves into designing shared memory data structures and introduces advanced synchronisation concepts, including lazy synchronisation, crucial for scalable and efficient concurrent applications. Additionally, students will explore the architecture and programming model of General-Purpose Graphics Processing Units (GPGPUs) and learn CUDA programming to leverage GPU parallelism for compute-intensive tasks. By the end of the course, students will be adept in optimising multi-threaded and many-core applications, balancing workload across CPUs and GPUs to achieve high throughput and efficient resource utilisation. This course is essential for those aiming to develop expertise in high-performance computing and parallel programming for modern multi-core and GPU-based systems.
Watch on External: Coursera ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related AI Lessons

How I Structured My Next.js 14 App Router Project — And Why It Scales
Learn how to structure a scalable Next.js 14 App Router project for better organization and maintainability
Dev.to · Mbanefo Emmanuel Ifechukwu
The Hardest Part Of Microservices Is Undoing What Already Succeeded
Learn how to refactor monolithic ERP systems into microservices, focusing on undoing existing successful implementations
Medium · Programming
What OOP Actually Buys You (And Why “Real World Modeling” Is a Lie)
Learn the actual benefits of Object-Oriented Programming (OOP) and why 'real world modeling' is a misconception
Medium · Programming
Data Partitioning in System Design: Why Every Scalable Application Depends on It
Learn how data partitioning enables scalable applications to handle growth without failing
Medium · Programming
Up next
Retracing It All With My Son
Ginny Clarke
Watch →