Javascript must be enabled to continue!
autotuning with machine learning of OpenMP task applications
View through CrossRef
Autotuning assisté par apprentissage automatique de tâches OpenMP
Les architectures informatiques modernes sont très complexes, nécessitant un grand effort de programmation pour obtenir toute la performance que le matériel est capable de fournir. En effet, alors que les développeurs connaissent les optimisations potentielles, la seule façon possible de dire laquelle est le plus rapide pour une plate-forme est de le tester. En outre, les nombreuses différences entre deux plates-formes informatiques, dans le nombre de cœurs, les tailles de cache, l'interconnexion, les fréquences de processeur et de mémoire, etc, rendent très difficile la bonne exécution du même code sur plusieurs systèmes. Pour extraire le plus de performances, il est souvent nécessaire d'affiner le code pour chaque système. Par conséquent, les développeurs adoptent l'autotuning pour atteindre un certain degré de performance portable. De cette façon, les optimisations potentielles peuvent être spécifiées une seule fois et, après avoir testé chaque possibilité sur une plate-forme, obtenir une version haute performance du code pour cette plate-forme particulière. Toutefois, cette technique nécessite de régler chaque application pour chaque plate-forme quelle cible. Non seulement cela prend du temps, mais l'autotuning et l'exécution réelle de l'application diffèrent. Des différences dans les données peuvent déclencher un comportement différent, ou il peut y avoir différentes interactions entre les fils dans l'autotuning et l'exécution réelle. Cela peut conduire à des décisions sous-optimales si l'autotuner choisit une version qui est optimale pour la formation, mais pas pour l'exécution réelle de l'application. Nous proposons l'utilisation d'autotuning pour sélectionner les versions du code pertinentes pour une gamme de plates-formes et, lors de l'exécution de l'application, le système de temps d'exécution identifie la meilleure version à utiliser à l'aide de l'une des trois politiques que nous proposons: Mean, Upper Confidence Bound et Gradient Bandit. De cette façon, l'effort de formation est diminué et il permet l'utilisation du même ensemble de versions avec différentes plates-formes sans sacrifier les performances. Nous concluons que les politiques proposées peuvent identifier la version à utiliser sans subir de pertes de performance substantielles. De plus, lorsque l'utilisateur ne connaît pas suffisamment de détails de l'application pour configurer de manière optimale la politique d'exploration puis de validation utilisée par d'autres systèmes de temps d'exécution, la politique UCB plus adaptable peut être utilisée à sa place.
Title: autotuning with machine learning of OpenMP task applications
Description:
Autotuning assisté par apprentissage automatique de tâches OpenMP
Les architectures informatiques modernes sont très complexes, nécessitant un grand effort de programmation pour obtenir toute la performance que le matériel est capable de fournir.
En effet, alors que les développeurs connaissent les optimisations potentielles, la seule façon possible de dire laquelle est le plus rapide pour une plate-forme est de le tester.
En outre, les nombreuses différences entre deux plates-formes informatiques, dans le nombre de cœurs, les tailles de cache, l'interconnexion, les fréquences de processeur et de mémoire, etc, rendent très difficile la bonne exécution du même code sur plusieurs systèmes.
Pour extraire le plus de performances, il est souvent nécessaire d'affiner le code pour chaque système.
Par conséquent, les développeurs adoptent l'autotuning pour atteindre un certain degré de performance portable.
De cette façon, les optimisations potentielles peuvent être spécifiées une seule fois et, après avoir testé chaque possibilité sur une plate-forme, obtenir une version haute performance du code pour cette plate-forme particulière.
Toutefois, cette technique nécessite de régler chaque application pour chaque plate-forme quelle cible.
Non seulement cela prend du temps, mais l'autotuning et l'exécution réelle de l'application diffèrent.
Des différences dans les données peuvent déclencher un comportement différent, ou il peut y avoir différentes interactions entre les fils dans l'autotuning et l'exécution réelle.
Cela peut conduire à des décisions sous-optimales si l'autotuner choisit une version qui est optimale pour la formation, mais pas pour l'exécution réelle de l'application.
Nous proposons l'utilisation d'autotuning pour sélectionner les versions du code pertinentes pour une gamme de plates-formes et, lors de l'exécution de l'application, le système de temps d'exécution identifie la meilleure version à utiliser à l'aide de l'une des trois politiques que nous proposons: Mean, Upper Confidence Bound et Gradient Bandit.
De cette façon, l'effort de formation est diminué et il permet l'utilisation du même ensemble de versions avec différentes plates-formes sans sacrifier les performances.
Nous concluons que les politiques proposées peuvent identifier la version à utiliser sans subir de pertes de performance substantielles.
De plus, lorsque l'utilisateur ne connaît pas suffisamment de détails de l'application pour configurer de manière optimale la politique d'exploration puis de validation utilisée par d'autres systèmes de temps d'exécution, la politique UCB plus adaptable peut être utilisée à sa place.
Related Results
High-level compiler analysis for OpenMP
High-level compiler analysis for OpenMP
Nowadays, applications from dissimilar domains, such as high-performance computing and high-integrity systems, require levels of performance that can only be achieved by means of s...
Towards a safe and efficient OpenMP
Towards a safe and efficient OpenMP
(English) The growing complexity of contemporary multi-core and heterogeneous architectures necessitates parallel programming models capable of efficiently leveraging the available...
Automatic Parallelization for Heterogeneous Embedded Systems
Automatic Parallelization for Heterogeneous Embedded Systems
Parallélisation automatique pour systèmes hétérogènes embarqués
L'utilisation d'architectures hétérogènes, combinant des processeurs multicoeurs avec des accélérate...
Toward transparent and parsimonious methods for automatic performance tuning
Toward transparent and parsimonious methods for automatic performance tuning
Vers des méthodes transparentes et parcimonieuses pour l'optimisation automatique des performances
La fin de la loi de Moore et de la loi de Dennard entraînent une ...
Autotuning divide‐and‐conquer stencil computations
Autotuning divide‐and‐conquer stencil computations
SummaryThis paper explores autotuning strategies for serial divide‐and‐conquer stencil computations, comparing the efficacy of traditional “heuristic” autotuning with that of “prun...
Selection of Injectable Drug Product Composition using Machine Learning Models (Preprint)
Selection of Injectable Drug Product Composition using Machine Learning Models (Preprint)
BACKGROUND
As of July 2020, a Web of Science search of “machine learning (ML)” nested within the search of “pharmacokinetics or pharmacodynamics” yielded over 100...
CREATING LEARNING MEDIA IN TEACHING ENGLISH AT SMP MUHAMMADIYAH 2 PAGELARAN ACADEMIC YEAR 2020/2021
CREATING LEARNING MEDIA IN TEACHING ENGLISH AT SMP MUHAMMADIYAH 2 PAGELARAN ACADEMIC YEAR 2020/2021
The pandemic Covid-19 currently demands teachers to be able to use technology in teaching and learning process. But in reality there are still many teachers who have not been able ...
Scheduler guided OpenMP execution in cloud VMs
Scheduler guided OpenMP execution in cloud VMs
Exécution OpenMP guidée par le ordonnanceur dans les machines virtuelles cloud
OpenMP est un cadre largement utilisé pour paralléliser les applications, permettant ...

