Multicore and GPGPU Programming

Coursera Courses ↗ · Coursera

Open Course on Coursera

Free to audit · Opens on Coursera

Multicore and GPGPU Programming

Coursera · Advanced ·🏗️ Systems Design & Architecture ·1mo ago
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 Coursera ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related AI Lessons

Java Design Patterns in Practice: Real JDK Examples for Interviews
Learn Java design patterns through real-world examples from the JDK, essential for acing interviews and improving coding skills
Medium · Programming
Hytale Servers Will Fail Treasure Hunts Until We Fix Our Event Handling
Learn how to identify and fix event handling issues in server optimization to prevent failures in treasure hunts
Dev.to · pretty ncube
I Thought Domain-Driven Design Was a Waste of Time. I Was Wrong.
Learn how Domain-Driven Design can improve software development and why it's essential for backend engineers to understand its value
Dev.to · Mostafijur Rahman
Why Next.js Dominates Modern Web Development
Learn why Next.js dominates modern web development and how it enables faster, scalable websites and applications
Medium · UX Design
Up next
Databases, Scalability and Containers on AWS
Coursera
Watch →