La recherche permanente de puissance a fait évoluer nos ordinateurs. Comportant initialement un seul composant de traitement, ils intègrent maintenant des architectures complexes combinant des CPU à plusieurs cœurs, des GPU et des DSP. Toutefois, on sait pertinemment que la marge d'amélioration de ces technologies est encore importante tant au niveau des performances que de la consommation d'énergie.
Le projet REPARA, qui s'achève ce mois-ci, travaille depuis 2013 à atteindre cet objectif. Constitué d'experts en génie logiciel, outils de développement et matériel informatique, ce projet avait pour vocation initiale de mettre au point un modèle de programmation unifié pour les ordinateurs hétérogènes en transformant le code source pour qu'il puisse être exécuté avec plusieurs cartes graphiques et du matériel reconfigurable. Certaines avancées du projet ont été récemment publiées dans la revue International Journal of Parallel Programming.
«Nous avons réalisé d'importants progrès tant sur le plan des performances que du rendement énergétique, avec des résultats comparables à ceux d'un processus de développement manuel», a déclaré José Daniel García, coordinateur du projet, et professeur associé au département informatique de l'UC3M. «Contrairement au développement manuel qui demande plusieurs mois d'ingénierie, notre processus semi-automatique réalise les mêmes tâches en quelques jours.»
Grâce à un financement de l'UE de 2,6 millions d'euros, l'équipe a développé et déposé plusieurs produits technologiques qu'elle envisage de commercialiser en partenariat avec une entreprise européenne.
Son travail a consisté entre autre à effectuer une «réingénierie» du code source, une technique utilisée en génie logiciel pour améliorer la structure interne d'un programme sans altérer son comportement observable. Trois propriétés fondamentales du code source initial ont été améliorées: les performances (augmentation de la vitesse d'exécution), le rendement énergétique (réduction de la consommation d'énergie) et la maintenance.
«Ces produits logiciels peuvent aider les développeurs à proposer des services d'ingénierie grâce à la simplification du processus de développement. Nous pouvons aider les ingénieurs à consacrer moins de temps au perfectionnement d'un produit logiciel dans un environnement hétérogène parallèle, avec pour avantages des coûts de développements bien moins élevés et une meilleure compétitivité du secteur du développement», a déclaré le professeur García. De nombreux secteurs, y compris ceux de la santé, des transports, de la robotique et de l'industrie (pour l'analyse des défauts des pièces fabriquées) devraient bénéficier de cette innovation, des cas d'usage ayant déjà été mis en place pour chacun de ces secteurs.
Les outils disponibles sur
Cevelop, un environnement intégré de développement en C/C++, et sur
Fastflow, un cadre de programmation parallèle en C++ favorisant la programmation en parallèle basée sur un schéma, sont deux outils de développement majeurs créés par les sept membres du consortium. Ces outils sont disponibles en téléchargement sur leurs sites respectifs.
Pour plus d'informations, veuillez consulter :
site web du projet