Workshop AI-SEPS 2019 – Author Index |
Contents -
Abstracts -
Authors
|
Bischof, Christian |
AI-SEPS '19: "Automatic Identification of ..."
Automatic Identification of Standard Template Algorithms in Raw Loops
Yannic Fischler, Jan-Patrick Lehr, Matthäus Magnus Kiehn, and Christian Bischof (TU Darmstadt, Germany) This paper explains a tool-based approach to detect sourcecode patterns that can be substituted with calls to the C++ standard template library (STL). The goal of the tool is to support developers in the process of refactoring a legacy code base to make use of modern library interfaces and standardized algorithms. This way, the intention of the programmer is encoded more explicitly in the code to increase readability. In addition, the STL is well tested, i.e., its use can improve robustness. We show early results from applying our tool to the High-Performance Conjugate Gradient (HPCG) benchmark. The current prototype creates roughly 50% false positives, all of which a human can easily identify. @InProceedings{AI-SEPS19p11, author = {Yannic Fischler and Jan-Patrick Lehr and Matthäus Magnus Kiehn and Christian Bischof}, title = {Automatic Identification of Standard Template Algorithms in Raw Loops}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {11--14}, doi = {10.1145/3358500.3361568}, year = {2019}, } Publisher's Version |
|
Cole, Murray |
AI-SEPS '19: "“It Looks Like You’re ..."
“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant
Aleksandr Maramzin, Christos Vasiladiotis, Roberto Castañeda Lozano, Murray Cole, and Björn Franke (University of Edinburgh, UK) Despite decades of research into parallelizing compiler technology, software parallelization remains a largely manual task where the key resource is expert time. In this paper we focus on the time-consuming task of identifying those loops in a program, which are both worthwhile and feasible to parallelize. We present a methodology and tool which make better use of expert time by guiding their effort directly towards those loops, where the largest performance gains can be expected while keeping analysis and transformation effort at a minimum. We have developed a novel parallelization assistant that provides programmers with a ranking of all loops in a program based on their overall merit. For each loop this metric combines its potential contribution to speedup and an estimated probability for its successful parallelization. This probability is predicted using a machine learning model, which has been trained, validated, and tested on 1415 labelled loops, achieving a prediction accuracy greater than 90%. We have evaluated our parallelization assistant against sequential C applications from the SNU NAS benchmark suite. We show that our novel methodology achieves parallel performance levels comparable to those from expert programmers while requiring less expert time. On average, our assistant reduces the number of lines of code that have to be inspected manually before reaching expert-level parallel speedup by 20%. @InProceedings{AI-SEPS19p1, author = {Aleksandr Maramzin and Christos Vasiladiotis and Roberto Castañeda Lozano and Murray Cole and Björn Franke}, title = {“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3358500.3361567}, year = {2019}, } Publisher's Version Info |
|
Fischler, Yannic |
AI-SEPS '19: "Automatic Identification of ..."
Automatic Identification of Standard Template Algorithms in Raw Loops
Yannic Fischler, Jan-Patrick Lehr, Matthäus Magnus Kiehn, and Christian Bischof (TU Darmstadt, Germany) This paper explains a tool-based approach to detect sourcecode patterns that can be substituted with calls to the C++ standard template library (STL). The goal of the tool is to support developers in the process of refactoring a legacy code base to make use of modern library interfaces and standardized algorithms. This way, the intention of the programmer is encoded more explicitly in the code to increase readability. In addition, the STL is well tested, i.e., its use can improve robustness. We show early results from applying our tool to the High-Performance Conjugate Gradient (HPCG) benchmark. The current prototype creates roughly 50% false positives, all of which a human can easily identify. @InProceedings{AI-SEPS19p11, author = {Yannic Fischler and Jan-Patrick Lehr and Matthäus Magnus Kiehn and Christian Bischof}, title = {Automatic Identification of Standard Template Algorithms in Raw Loops}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {11--14}, doi = {10.1145/3358500.3361568}, year = {2019}, } Publisher's Version |
|
Franke, Björn |
AI-SEPS '19: "“It Looks Like You’re ..."
“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant
Aleksandr Maramzin, Christos Vasiladiotis, Roberto Castañeda Lozano, Murray Cole, and Björn Franke (University of Edinburgh, UK) Despite decades of research into parallelizing compiler technology, software parallelization remains a largely manual task where the key resource is expert time. In this paper we focus on the time-consuming task of identifying those loops in a program, which are both worthwhile and feasible to parallelize. We present a methodology and tool which make better use of expert time by guiding their effort directly towards those loops, where the largest performance gains can be expected while keeping analysis and transformation effort at a minimum. We have developed a novel parallelization assistant that provides programmers with a ranking of all loops in a program based on their overall merit. For each loop this metric combines its potential contribution to speedup and an estimated probability for its successful parallelization. This probability is predicted using a machine learning model, which has been trained, validated, and tested on 1415 labelled loops, achieving a prediction accuracy greater than 90%. We have evaluated our parallelization assistant against sequential C applications from the SNU NAS benchmark suite. We show that our novel methodology achieves parallel performance levels comparable to those from expert programmers while requiring less expert time. On average, our assistant reduces the number of lines of code that have to be inspected manually before reaching expert-level parallel speedup by 20%. @InProceedings{AI-SEPS19p1, author = {Aleksandr Maramzin and Christos Vasiladiotis and Roberto Castañeda Lozano and Murray Cole and Björn Franke}, title = {“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3358500.3361567}, year = {2019}, } Publisher's Version Info |
|
Kiehn, Matthäus Magnus |
AI-SEPS '19: "Automatic Identification of ..."
Automatic Identification of Standard Template Algorithms in Raw Loops
Yannic Fischler, Jan-Patrick Lehr, Matthäus Magnus Kiehn, and Christian Bischof (TU Darmstadt, Germany) This paper explains a tool-based approach to detect sourcecode patterns that can be substituted with calls to the C++ standard template library (STL). The goal of the tool is to support developers in the process of refactoring a legacy code base to make use of modern library interfaces and standardized algorithms. This way, the intention of the programmer is encoded more explicitly in the code to increase readability. In addition, the STL is well tested, i.e., its use can improve robustness. We show early results from applying our tool to the High-Performance Conjugate Gradient (HPCG) benchmark. The current prototype creates roughly 50% false positives, all of which a human can easily identify. @InProceedings{AI-SEPS19p11, author = {Yannic Fischler and Jan-Patrick Lehr and Matthäus Magnus Kiehn and Christian Bischof}, title = {Automatic Identification of Standard Template Algorithms in Raw Loops}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {11--14}, doi = {10.1145/3358500.3361568}, year = {2019}, } Publisher's Version |
|
Lehr, Jan-Patrick |
AI-SEPS '19: "Automatic Identification of ..."
Automatic Identification of Standard Template Algorithms in Raw Loops
Yannic Fischler, Jan-Patrick Lehr, Matthäus Magnus Kiehn, and Christian Bischof (TU Darmstadt, Germany) This paper explains a tool-based approach to detect sourcecode patterns that can be substituted with calls to the C++ standard template library (STL). The goal of the tool is to support developers in the process of refactoring a legacy code base to make use of modern library interfaces and standardized algorithms. This way, the intention of the programmer is encoded more explicitly in the code to increase readability. In addition, the STL is well tested, i.e., its use can improve robustness. We show early results from applying our tool to the High-Performance Conjugate Gradient (HPCG) benchmark. The current prototype creates roughly 50% false positives, all of which a human can easily identify. @InProceedings{AI-SEPS19p11, author = {Yannic Fischler and Jan-Patrick Lehr and Matthäus Magnus Kiehn and Christian Bischof}, title = {Automatic Identification of Standard Template Algorithms in Raw Loops}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {11--14}, doi = {10.1145/3358500.3361568}, year = {2019}, } Publisher's Version |
|
Lozano, Roberto Castañeda |
AI-SEPS '19: "“It Looks Like You’re ..."
“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant
Aleksandr Maramzin, Christos Vasiladiotis, Roberto Castañeda Lozano, Murray Cole, and Björn Franke (University of Edinburgh, UK) Despite decades of research into parallelizing compiler technology, software parallelization remains a largely manual task where the key resource is expert time. In this paper we focus on the time-consuming task of identifying those loops in a program, which are both worthwhile and feasible to parallelize. We present a methodology and tool which make better use of expert time by guiding their effort directly towards those loops, where the largest performance gains can be expected while keeping analysis and transformation effort at a minimum. We have developed a novel parallelization assistant that provides programmers with a ranking of all loops in a program based on their overall merit. For each loop this metric combines its potential contribution to speedup and an estimated probability for its successful parallelization. This probability is predicted using a machine learning model, which has been trained, validated, and tested on 1415 labelled loops, achieving a prediction accuracy greater than 90%. We have evaluated our parallelization assistant against sequential C applications from the SNU NAS benchmark suite. We show that our novel methodology achieves parallel performance levels comparable to those from expert programmers while requiring less expert time. On average, our assistant reduces the number of lines of code that have to be inspected manually before reaching expert-level parallel speedup by 20%. @InProceedings{AI-SEPS19p1, author = {Aleksandr Maramzin and Christos Vasiladiotis and Roberto Castañeda Lozano and Murray Cole and Björn Franke}, title = {“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3358500.3361567}, year = {2019}, } Publisher's Version Info |
|
Maramzin, Aleksandr |
AI-SEPS '19: "“It Looks Like You’re ..."
“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant
Aleksandr Maramzin, Christos Vasiladiotis, Roberto Castañeda Lozano, Murray Cole, and Björn Franke (University of Edinburgh, UK) Despite decades of research into parallelizing compiler technology, software parallelization remains a largely manual task where the key resource is expert time. In this paper we focus on the time-consuming task of identifying those loops in a program, which are both worthwhile and feasible to parallelize. We present a methodology and tool which make better use of expert time by guiding their effort directly towards those loops, where the largest performance gains can be expected while keeping analysis and transformation effort at a minimum. We have developed a novel parallelization assistant that provides programmers with a ranking of all loops in a program based on their overall merit. For each loop this metric combines its potential contribution to speedup and an estimated probability for its successful parallelization. This probability is predicted using a machine learning model, which has been trained, validated, and tested on 1415 labelled loops, achieving a prediction accuracy greater than 90%. We have evaluated our parallelization assistant against sequential C applications from the SNU NAS benchmark suite. We show that our novel methodology achieves parallel performance levels comparable to those from expert programmers while requiring less expert time. On average, our assistant reduces the number of lines of code that have to be inspected manually before reaching expert-level parallel speedup by 20%. @InProceedings{AI-SEPS19p1, author = {Aleksandr Maramzin and Christos Vasiladiotis and Roberto Castañeda Lozano and Murray Cole and Björn Franke}, title = {“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3358500.3361567}, year = {2019}, } Publisher's Version Info |
|
Vasiladiotis, Christos |
AI-SEPS '19: "“It Looks Like You’re ..."
“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant
Aleksandr Maramzin, Christos Vasiladiotis, Roberto Castañeda Lozano, Murray Cole, and Björn Franke (University of Edinburgh, UK) Despite decades of research into parallelizing compiler technology, software parallelization remains a largely manual task where the key resource is expert time. In this paper we focus on the time-consuming task of identifying those loops in a program, which are both worthwhile and feasible to parallelize. We present a methodology and tool which make better use of expert time by guiding their effort directly towards those loops, where the largest performance gains can be expected while keeping analysis and transformation effort at a minimum. We have developed a novel parallelization assistant that provides programmers with a ranking of all loops in a program based on their overall merit. For each loop this metric combines its potential contribution to speedup and an estimated probability for its successful parallelization. This probability is predicted using a machine learning model, which has been trained, validated, and tested on 1415 labelled loops, achieving a prediction accuracy greater than 90%. We have evaluated our parallelization assistant against sequential C applications from the SNU NAS benchmark suite. We show that our novel methodology achieves parallel performance levels comparable to those from expert programmers while requiring less expert time. On average, our assistant reduces the number of lines of code that have to be inspected manually before reaching expert-level parallel speedup by 20%. @InProceedings{AI-SEPS19p1, author = {Aleksandr Maramzin and Christos Vasiladiotis and Roberto Castañeda Lozano and Murray Cole and Björn Franke}, title = {“It Looks Like You’re Writing a Parallel Loop”: A Machine Learning Based Parallelization Assistant}, booktitle = {Proc.\ AI-SEPS}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3358500.3361567}, year = {2019}, } Publisher's Version Info |
9 authors
proc time: 1.75