Plateforme de calcul massivement parallèle évolutionnaire EASEA Pierre Collet, Nicolas Lachiche, Ogier Maitre, Frédéric Krüger, Stéphane Querry Equipe Fouille de Données et Bioinformatique Théorique Laboratoire des Sciences de l'Image, de l'Informatique et de la Télédétection Université de Strasbourg EASEA : une plateforme évolutionnaire massivement parallèle
Plateforme physique : quelques chiffres 1.920 processeurs graphiques GPU, 14 Go de mémoire CPU : Intel Core I7 Puissance sur le papier : 6TFlops ! A titre indicatif, IBM ASCII White, machine la plus puissante du monde en 2000, avait une puissance estimée de 7TFlops, pour un poids de 106 tonnes, une consommation de 3MWatts + 3MWatts refroidissement. Bande passante (mémoire) vers les cartes GPU: 177 Go/s Speedups possibles : jusqu’à x1000 / PC Core i7. Valeur de la machine : 4600 € ! EASEA : une plateforme évolutionnaire massivement parallèle
Plateforme logicielle EASEA Peu d'algorithmes peuvent exploiter le parallélisme massif (avec coeurs SIMD) de cartes GPU, sauf les algorithmes évolutionnaires qui sont des méthodes d'optimisation universelles ET intrinsèquement parallèles. L'équipe FDBT développe la Plateforme logicielle EASEA (Easy Specification of Evolutionary Algorithms). Permet l'implémentation d'un algorithme évolutionnaire sur CPU grâce au langage EASEA. Permet la parallélisation automatique sur GPU pour exploitation du parallélisme massif. Permet l’exploitation de clusters homogènes ou hétérogènes de machines pour exécution parallèle asynchrone. La plateforme permet aussi d'exploiter des machines standard. EASEA : une plateforme évolutionnaire massivement parallèle
Travaux de l'équipe Partie théorique (Ogier Maitre, Frédéric Krüger, Deepak Sharma) : Adaptation des algorithmes évolutionnaires au parallélisme massif (très grosses populations) Partie applications : En chimie (Frédéric Krüger) : recherche de nouvelles zéolites En aéronautique (Stéphane Querry) : Détermination d'une matrice de représentation d'état non linéaire Planification de trajectoires compatibles avec la matrice d'état Suivi de trajectoires par commande prédictive MPC En énergie, smart grids (Frédéric Krüger) : Détermination de courbes de consommation à partir de relevés bisannuels. EASEA : une plateforme évolutionnaire massivement parallèle
Résultats en chimie (calcul GPU) Les zéolites sont des cristaux poreux avec de nombreuses applications dans l'industrie (filtrage, catalyse, construction, médecine, ...) A ce jour, 40 zéolites naturelles, 135 zéolites synthétiques La plateforme EASEA a permis de trouver 2 nouveaux candidats à 5 atomes : ... et papier accepté dans Physical Chemistry Chemical Physics. Novembre : chasse au gros (25 atomes) sur machine Petaflop (1000 Tesla). Speedup espéré : x250000. 1h = 28 ans sur Core I7. EASEA : une plateforme évolutionnaire massivement parallèle
Résultats en aéronautique (identification GPU) Détermination des quaternions par programmation génétique trajectoire avec quaternions d'origine et quaternions obtenus. Papier accepté à WCCI'2010, Congress on Evolutionary Computation, Barcelone. EASEA : une plateforme évolutionnaire massivement parallèle
Résultats en aéronautique (trajectoires) Retour au point de départ avec contraintes différentes : Evitement d'obstacle : EASEA : une plateforme évolutionnaire massivement parallèle
Commande prédictive évolutionnaire Suivi de roulis, lacet et tangage d'un aéronef en vol : Il n'y a pas 3 courbes, mais 6 (courbes superposées 2 à 2) EASEA : une plateforme évolutionnaire massivement parallèle
Conclusion sur la plateforme EASEA Utilisable aussi sur machine conventionnelle (CPU). Les deux derniers résultats présentés ont été obtenus sans GPU. Avec GPU, des speedups atteignant x1000 peuvent être atteints (suivant les problèmes), ce qui fait que : 1 heure sur plateforme EASEA= 50 jours sur CPU 1 journée = 3 ans de calculs sur CPU ! La thématique Optimisation Stochastique de l'équipe FDBT est à la recherche de collaborations qui permettront de continuer à développer la plateforme. EASEA : une plateforme évolutionnaire massivement parallèle
Collaborations potentielles i2s2i Avec Jan Dusek (IMFS), sur de la mécanique des fluides. Avec Jacques Gangloff (thèse en démarrage) et Edouard Laroche (AVR). Avec Christian Heinrich (MIV) ? Collaboration avec Romaric David (équipe@méso).
Références O. Maitre, L. Baumes, N. Lachiche, A. Corma, P. Collet, Coarse Grain Parallelization of Evolutionary Algorithms on GPGPU cards with EASEA, Gecco'09, ACM, pp1403-1410, 2009. O. Maitre, N. Lachiche, P. Clauss, L. Baumes, A. Corma, P. Collet, Efficient Parallel Implementation of Evolutionary Algorithms on GPGPU Cards, EuroPar Parallel Processing, Springer LNCS 5704, p974-985, 2009. O. Maitre, N. Lachiche, P. Collet, Improving speedup of GP trees execution on GPGPU cards for as few as 32 fitness cases, EuroGP'10, in print, 2010. F. Krüger, O. Maitre, S. Jimenez, L. Baumes, P. Collet, Speedups between x70 and x120 for a generic local search (memetic algorithm) on a single GPGPU chip, EvoNum'10, in print, 2010. O. Maitre, S. Querry, N. Lachiche, P. Collet, EASEA parallelisation of Tree-Based Genetic Programming, WCCI'10, Congress on Evolutionary Computation, in print, 2010. D. Sharma, P. Collet, GPGPU-compatible Archived Based Stochastic Ranking Evolutionary Algorithm (G-ASREA) for Multi-Objective Optimization, PPSN'10, in print, 2010. EASEA : une plateforme évolutionnaire massivement parallèle