DiscoPoP: A tool to identify parallelization opportunities in sequential programs and suggest OpenMP constructs and clauses
summary
DiscoPoP is a static-and-profiling-based tool that finds parallelization opportunities in C/C++ sequential programs, identifies computational units (CUs), profiles memory accesses to detect data dependencies, and builds a program execution tree (PET) mapping dependencies to CUs. It inspects the PET to recognize parallel patterns (doall, reduction, pipeline, task parallelism, geometric decomposition) and generates concrete OpenMP construct and clause suggestions; the authors evaluated DiscoPoP by producing OpenMP versions of 49 benchmarks and by analyzing LULESH and an astrophysics code, reporting higher performance than three other tools and speedups up to 35%.
AI-written summary · about
related talks
28mLLOR: Automated Repair of OpenMP Programs
01h 19mCo-Design for High-Performance Computing Software Systems
01h 01mProgramming Abstractions for Orchestration of HPC Scientific Computing
30mDesign Patterns for Handling/Reporting Errors in C++ - Parallel Algorithms & Executors
01h 03mPanel: Next 50 Years of POPL
20mQuality Assurance and Coding Standards for Parallel Software on POWER systems
51mTutorial: Performance Tools
07h 15mInternational Workshop on the State Of the Art in Program Analysis (SOAP)