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

Covers multicore and GPGPU programming for high-performance computing and parallel processing

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.
AI explanation not available for this lesson yet
This lesson is still being prepared for the AI tutor. In the meantime, explore lessons that are ready.
Browse explainer-ready lessons →

Related Reads

📰
The Same Requirement Means Different Things to Security, Architecture, and Operations
Understand how security, architecture, and operations interpret requirements differently to improve collaboration and system design
Medium · AI
📰
Gemini responsded on what exactly is Abstraction in codding
Learn how abstraction applies to coding and algorithms, and why it matters for efficient programming
Medium · Programming
📰
Architectural Breakdown: A Storm Didn't Decide This Battle — A Sergeant Did
Learn how a sergeant's intervention fixed a broken tactics engine, applying problem-solving skills to software development
Dev.to · Muhammad Hammad
📰
Coding Is Getting Easier. But System Design Still Matters.
Learn why system design is crucial in software development, even with AI-powered coding tools
Dev.to AI
Up next
What Is Edge Computing? Explained Simply
Coursera
Watch →