Autotuning of multicore applications using parallel patterns
With multi-core systems being widely used nowadays, ability to exploit maximum runtime performance out of parallel programs is necessary more than ever. Performance auto-tuning is a valid and well-known solution to increase the performance of parallel applications. However, blind search for finding the best configuration parameters is not efficient enough for tuning general purpose programs. In this project we aim to utilize parallel patterns for creating a general purpose auto-tuner for shared-memory applications. Finding patterns inside the parallel applications is the main task of this project which could be done either by machine learning techniques or specific algorithmic approaches.
In this project, you will contribute to the detection of patterns inside parallel applications and finding relevant optimization parameters according to each pattern.
• Two IREP student(s) can work on this project.
Pre-requisites or requirements for the project
Programming experience preferably in C/C++.
Literature and preparation
- until the end of December 2019