This course is designed for scientists, engineers, students, and professionals looking to develop efficient solutions for high-performance and distributed computing systems. It focuses on parallel programming using the Message Passing Interface (MPI), a standard for scalable communication across multiple processors. Learners should have basic programming experience in C or C++ and familiarity with Linux. No prior knowledge of MPI is required.
This course can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://hua.dididi.sbs/degrees/master-of-science-data-science-boulder.
This module focuses on the key concepts and techniques for transforming serial algorithms into parallel solutions using the Message Passing Interface (MPI). You will explore the principles of message passing, synchronization, and parallel thinking, equipping them with the skills to efficiently utilize parallel computing in their projects.
涵盖的内容
5个视频3篇阅读材料1个作业1个编程作业
显示有关单元内容的信息
5个视频•总计23分钟
Course Overview•3分钟
Introduction to Parallel Computing•6分钟
Thinking in Parallel•6分钟
Introduction to Message Passing•5分钟
Synchronization•3分钟
3篇阅读材料•总计21分钟
Course Updates and Accessibility Support•1分钟
Earn Academic Credit for your Work!•10分钟
Course Support•10分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计60分钟
Distributed Weather Prediction System Using MPI•60分钟
Advanced Communication Techniques in MPI
第 2 单元•小时 后完成
单元详情
This module delves into the advanced communication techniques in MPI, focusing on transforming serial algorithms into parallel implementations. You will learn about nonblocking communication, point-to-point communication, and the intricacies of blocking sends and receives, along with strategies to avoid deadlock in their parallel applications.
涵盖的内容
5个视频1个作业1个编程作业
显示有关单元内容的信息
5个视频•总计28分钟
Parallelizing a Serial Algorithm•7分钟
Point to Point Communication Overview•6分钟
Blocking Sends and Receives•7分钟
Nonblocking Communication•4分钟
Deadlock•4分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计60分钟
Distributed Array Summation using MPI Scatter and Gather•60分钟
Performance Optimization in Parallel Computing
第 3 单元•小时 后完成
单元详情
This module focuses on enhancing the performance of parallel applications using nonblocking communication and effective load-balancing strategies. You will learn how to implement nonblocking communication, overlap communication with computation, and achieve optimal load distribution to maximize speedup in their MPI programs.
涵盖的内容
4个视频1个作业1个编程作业
显示有关单元内容的信息
4个视频•总计21分钟
Implementing Nonblocking Communication •5分钟
Overlapping Communication and Computation•3分钟
Load Balancing Overview•6分钟
Load Balancing and Speedup•7分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计60分钟
Parallel Ring Communication using Non-blocking MPI•60分钟
Advanced MPI Concepts – Communicators and Derived Datatypes
第 4 单元•小时 后完成
单元详情
This module explores advanced parallel computing concepts using MPI, focusing on communicator creation, domain decomposition, and derived datatypes. You will learn to create custom communicators for process coordination and effectively divide computational domains. The module covers MPI's derived datatypes, including contiguous, vector, indexed, and struct types, enabling efficient communication for both regular and irregular data patterns in high-performance applications.
涵盖的内容
7个视频1个作业1个编程作业
显示有关单元内容的信息
7个视频•总计30分钟
MPI Communicators•4分钟
Communicator Creation Walkthrough•4分钟
Communicators and Domain Decomposition•3分钟
Derived Datatypes Overview•4分钟
Derived Datatypes - Contiguous and Vector•6分钟
Derived Datatypes - Indexed and Struct•5分钟
Week 4 Wrap-Up•3分钟
1个作业•总计15分钟
Module Quiz•15分钟
1个编程作业•总计60分钟
MPI Derived Type for Complex Data Structures•60分钟
Parallel I/O in MPI and HDF5 for High-Performance Computing
第 5 单元•小时 后完成
单元详情
This module focuses on parallel I/O in MPI, emphasizing efficient data management in high-performance computing. You will learn the principles of MPI I/O and explore practical examples of concurrent data operations. The module also introduces HDF5, a widely used data model and file format in scientific computing, highlighting its features for managing large datasets. By the end, students will be equipped to implement effective parallel I/O strategies using MPI and HDF5 in their applications.
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.