Les accélérateurs matériels, tels que les GPU, fournissent désormais une grande partie de la puissance de calcul utilisée pour les simulations scientifiques. Les GPU disposent de leur propre mémoire limitée et sont connectés à la mémoire principale de la machine via un bus à la largeur de bande limitée. Les simulations scientifiques utilisent souvent des données très volumineuses, au point de ne pas pouvoir être intégrées dans la mémoire limitée du GPU. Dans ce cas, il faut se tourner vers le calcul hors cœur, où le mouvement des données devient rapidement un goulot d'étranglement pour les performances.
Au cours de cette thèse, nous avons travaillé sur le problème de l'ordonnancement d'un temps d'exécution basé sur les tâches afin d'améliorer la localité des données dans un environnement hors cœur, dans le but de réduire les mouvements de données. Nous avons conçu des stratégies pour l'ordonnancement des tâches et l'éviction des données des mémoires limitées. Nous les avons implémentées dans le moteur d'exécution StarPU et les avons comparées aux techniques d'ordonnancement existantes. Nos stratégies permettent d'obtenir de bien meilleures performances lors de l'ordonnancement de tâches sur plusieurs GPU à mémoire limitée, ainsi que sur plusieurs cœurs de CPU à mémoire principale limitée.