Modernizing Parallel Code with Pattern Analysis
Autor: | Björn Franke, Roberto Castañeda Lozano, Murray Cole |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2021 |
Předmět: |
020203 distributed computing
POSIX Threads Matching (graph theory) Computer science Dataflow 020207 software engineering 02 engineering and technology Parallel computing dynamic analysis code modernization Software portability parallel patterns 0202 electrical engineering electronic engineering information engineering Code (cryptography) Pattern matching Legacy code Codebase |
Zdroj: | Castañeda Lozano, R, Cole, M & Franke, B 2021, Modernizing Parallel Code with Pattern Analysis . in Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '21) . pp. 418–430, 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Virtual Conference, 27/02/21 . https://doi.org/10.1145/3437801.3441603 PPoPP |
DOI: | 10.1145/3437801.3441603 |
Popis: | Fifty years of parallel programming has generated a substantial legacy parallel codebase, creating a new portability challenge: re-parallelizing already parallel code. Our solution exploits inherently portable parallel patterns, and addresses the challenge of identifying patternization opportunities in legacy parallel code via constraint matching on traced dynamic dataflow graphs. Notably, this makes the analysis source-independent and equally applicable to sequential and parallel legacy code. We identify various map and reduction patterns, including compositions, in Pthreads code. Experiments with the Starbench suite show that our analysis is effective (finding 86% of the patterns known in the literature), accurate (reporting actual patterns in 98% of the cases), and efficient (scaling linearly with the size of the execution traces). We re-express the found patterns via a parallel pattern library, making code freely portable across CPU/GPU systems and performing competitively with hand-tuned implementations at zero additional effort. |
Databáze: | OpenAIRE |
Externí odkaz: |