The SMU O’Donnell Data Science and Research Computing Institute Parallel C++ Workshop is designed to introduce users through the fundamental concepts and practical implementations of parallel programming using C++ standard parallelism and MPI via MPL.
Parallel programming is essential for leveraging the power of modern multi-core processors to improve the performance of applications. This workshop focuses on teaching parallel programming techniques using C++, a language widely used in performance-critical applications. It covers essential topics, tools, and techniques that enable you to write efficient and scalable parallel code.
-
Introduction to Parallel Programming:
- Understanding the basics of parallel computing.
- Advantages of parallelism in software development.
- Overview of parallel hardware and software architectures.
-
C++17 Parallel Programming:
- Use of standard C++ features for parallelism, such as threads, atomic operations, and futures.
- Introduction to the C++ Standard Library's threading support.
-
MPI (Message Passing Interface) via MPL:
- Introduction to MPI for distributed-memory parallel programming.
- Using MPI for communication between processes in a parallel program.
- Examples of MPI programs for understanding communication patterns.
- Prerequisites: Basic understanding of C++ programming.
- Environment Setup: Guidance on setting up a development environment suitable for parallel programming, including compiler settings and libraries.
- Example Projects: Hands-on examples provided to practice the concepts learned.
- Documentation: Detailed explanations and examples of the concepts covered.
- Examples: Sample code demonstrating the use of parallel constructs in real-world scenarios.
- Exercises: Problems and projects to test your understanding and skills.
This workshop is open for contributions from the community. You can suggest changes, report issues, or add new content to help enhance the learning experience.