As data volumes and computational demands grow, standard sequential programming is no longer enough to maximize modern hardware. Understanding how to leverage multi-core processors and graphics cards is essential for building highly performant applications. This text-based course guides you through the foundational concepts of parallel computing, transitioning you from writing single-threaded programs to developing optimized multi-threaded and distributed systems. You will learn how to divide tasks efficiently and harness the power of both CPUs and GPUs.
What you'll learn:
- Understand the fundamental principles of parallel architectures, shared memory, and distributed memory systems.
- Write multi-threaded CPU applications using OpenMP compiler directives for rapid parallelization.
- Develop distributed-memory programs with MPI to enable communication across multiple computing nodes.
- Program graphics processors with CUDA to accelerate data-intensive algorithms.
- Analyze and optimize parallel code to identify bottlenecks and maximize hardware utilization.
- Apply modern C++ execution policies and hybrid programming concepts for cleaner, future-proof code.
The course begins with essential terminology and the theoretical foundations of parallel architectures. You will then progress through structured, text-based modules covering OpenMP, MPI, and CUDA, supported by conceptual explanations and clear, step-by-step code walk-throughs.
This course is designed for software developers, students, and technology enthusiasts who are new to parallel programming. A basic understanding of C or C++ programming is recommended, but no prior experience with high-performance computing is required.
Start reading today to unlock the full processing potential of modern hardware.
สิ่งที่คุณจะได้รับ
📜ใบประกาศนียบัตร เพิ่มในโปรไฟล์ LinkedIn ของคุณ
💬ติวเตอร์ AI ส่วนตัว ติดขัดในบทเรียน? ถามติวเตอร์ในตัวของคุณได้ทุกอย่าง ทุกเวลา