Skip to main content
Back to top
Ctrl
+
K
Interactive OpenMP Programming
Preface
1. Overview of OpenMP Programming
1.1. Introduction of OpenMP
1.2. Creating a Parallel Program with OpenMP
1.3. Performance Analysis
2. Parallel Programming for Multicore and Multi-CPU Machines
2.1. Multicore and Multi-CPU shared memory systems
2.2. Creating SPMD parallelism using OpenMP
parallel
directive
2.3. Creating SPMD parallelism using OpenMP
teams
directive
2.4. Synchronization of Threads Using Barrier and Ordered Directive
2.5. Synchronization of Threads Using Barrier and Ordered Directive
2.6. Synchronization of Threads Using Barrier and Ordered Directive
2.7. Asynchronous Tasking
2.8. Explicit Distribution of Work Using Single, Sections, Workshring-Loop, and Distribute Construct
3. Parallel Programming for SIMD and Vector Architecture
3.1. Introduction to SIMD and Vectorization
3.2. OpenMP SIMD Constructs and Clauses
3.3. Utilizing SIMD Directives for Loop Vectorization
3.4. Function Vectorization with
declare
simd
3.5. Data Alignment and Linear Clauses
3.6. SIMD Reductions and Scans
3.7. Best Practices and Performance Considerations
3.8. Real-World Examples and Case Studies
4. Parallel Programming for GPU Accelerators
4.1. Introduction
4.2. OpenMP Device Constructs
4.3. Mapping Data to GPU Devices
4.4. Asynchronous Execution and Dependencies
4.5. Device Memory Management
4.6. Parallel Execution on GPU Devices
4.7. Tuning Performance for GPU Offloading
4.8. Advanced Topics and Best Practices
4.9. Conclusion
Repository
Open issue
Index