opengpu

Accueil > Projet OpenGPU > Verrous technologiques

Envoyer Imprimer PDF
Les verrous technologiques


Les verrous technologiques à lever sont les suivants.

L'accès à la parallélisation

La parallélisation n'est ni intuitive pour les développeurs ni simple à prendre en compte dans l'écriture des programmes. De plus, l'hétérogénéité des architectures parallèles complexifie la mise en œuvre d'optimisations fines et portables sur un nombre élevé de plateformes. Le projet OpenGPU a pour objectif de faciliter l'accès à la parallélisation aussi bien au travers d'outils d'optimisation (et plus généralement d'aide à la parallélisation) que dans la capitalisation d'un savoir faire autour du standard OpenCL et des technologies logicielles autour des GPU.

La modernisation des logiciels

Les grandes chaînes de calculs ou de simulation n'ont pas été construites pour prendre en compte les avancées de la parallélisation. Modifier ces codes existants est une entreprise très coûteuse en temps et en ressources pour des résultats hypothétiques si les bonnes compétences en optimisation ne sont que partiellement disponibles ou utilisées. Le projet OpenGPU ouvre la possibilité de reprendre ces codes, de choisir de manière pertinente les parties à paralléliser et d'établir la preuve de l'intérêt d'un portage massif vers ces nouvelles architectures.

Un monde propriétaire

Jusqu'à présent, les différents acteurs (essentiellement dans le marché du graphique) se sont positionnés sur une offre logicielle et matérielle en majeure partie propriétaire. La communauté Open Source est, à l'heure actuelle, très dépendante du bon vouloir de ces acteurs et les différents projets dans le domaine du libre en sont réduits aux approximations de la rétro-ingénierie. Le projet OpenGPU, en bâtissant ses livrables autour du standard OpenCL et de l'environnement Eclipse et en mettant dans l'Open Source les outils d'aide à la parallélisation, permettra à la communauté du libre de faire évoluer ces outils et accélérer les développements dans le domaine de la parallélisation.

L’optimisation des architectures supportant les GPU

Aujourd’hui l’intégration des GPU dans les architectures de cluster de calcul est extrêmement simpliste avec l’utilisation soit de cartes dans les serveurs soit la connexion d’ensemble de cartes sur les entrées/sorties d’un serveur. Ces solutions sont loin d’être optimales par exemple sur le coût aussi bien financier qu’énergétique de l’infrastructure nécessaire pour la mise en œuvre d’un GPU. Le projet OpenGPU développera des solutions plus intégrées optimisant les architectures supportant les GPU.

La complexité de la mise en œuvre

Le monde du HPC n'a pas attendu l'arrivée des GPU pour s'intéresser à la répartition des calculs sur cluster ou sur des grilles et des standards comme OpenMP ou MPI sont déjà largement mise en œuvre. La prise en compte de ces nouveaux processeurs et de leurs spécificités  en termes de programmation et de déploiement complexifie la chaîne d'exploitation qui, en étant le maillon faible, pourrait diminuer l'impact des efforts faits en matière d'optimisation. Le projet OpenGPU, en s'appuyant sur les compétences de ses partenaires en la matière et sur les acquis qui seront faits dans le cadre de la parallélisation des librairies industrielles, devrait grandement améliorer le savoir faire de la communauté du HPC dans des domaines aussi complexes que l'ordonnancement, le provisionning des architectures hybrides et la rationalisation de l'utilisation des ressources, y compris dans une optique de « Green IT ».

Mis à jour ( Jeudi, 11 Mars 2010 09:46 )