Resource-aware Data Parallel Array Processing
| Authors |
|
|---|---|
| Publication date | 07-2019 |
| Event | 12th International Symposium on High-Level Parallel Programming and Applications |
| Number of pages | 22 |
| Organisations |
|
| Abstract |
Malleable applications may run with varying numbers of threads, and thus on varying numbers of cores, while the precise number of threads is irrelevant for the program logic. Malleability is a common property in data-parallel array processing. With ever growing core counts we are increasingly faced with the problem of how to choose the best number of threads.
We propose a compiler-directed, almost automatic tuning approach for the functional array processing language SaC. Our approach consists of an offline training phase during which compiler-instrumented application code systematically explores the design space and accumulates a persistent database of profiling data. When generating production code our compiler consults this database and augments each data-parallel operation with a recommendation table. Based on these recommendation tables the runtime system chooses the number of threads individually for each data-parallel operation. With energy/power efficiency becoming an ever greater concern, we explicitly distinguish between two application scenarios: aiming at best possible performance or aiming at a beneficial trade-off between performance and re-source investment. |
| Document type | Paper |
| Language | English |
| Related publication | Resource-aware Data Parallel Array Processing Resource-aware Data Parallel Array Processing |
| Other links | https://www.ida.liu.se/conferences/hlpp2019/program.shtml |
| Downloads |
paper_2019_draft
(Submitted manuscript)
|
| Permalink to this page | |