Intel est connu pour ses processeurs mais un peu moins pour ses logiciels destinés aux développeurs C++ et Fortran permettant de profiler, d’optimiser son code. Comme chaque année, le fondeur organise une conférence logicielle en Europe. Cette année, elle s’est déroulée à Salzbourg en Autriche, centrée exclusivement sur le code parallèle.
Plus d’une centaine de personnes furent rassemblées au coeur de la vieille ville de Salzbourg : des revendeurs Intel, des partenaires, des journalistes et des développeurs. Les sessions ont présenté Parallel Studio, la boîte à outils pour le code parallèle d’Intel qui sera disponible en juin prochain. Et le défi est à la hauteur de l’enjeu : selon une statistique fournie par Microsoft, à peine 3 % des développeurs ont mis en oeuvre ces 6 derniers mois des instructions parallèles dans leur code ! Intel a rappelé le challenge : avec la généralisation des processeurs à multiples coeurs (même si la majorité des ordinateurs utilisés sont en monocoeur), comment tirer parti de cette puissance ? La seule solution est d’adapter son code, de l’optimiser pour qu’il fonctionne parallèlement sur plusieurs coeurs. Or ce travail reste délicat et complexe. C’est pour cela que dans toutes les sessions techniques, le message de l’intégration et de la simplicité a été martelé.
Aider le développeur
" Go Parallel " voilà pour le slogan. La question est de savoir comment y aller. Intel a rappelé qu’il existe deux gammes : la gamme actuelle avec le compilateur, le Thread Building Blocks, etc. et Parallel Studio. Ce dernier vise uniquement les développeurs C++ sous Windows alors que les autres outils sont disponibles sur différents langages et pour différents systèmes. L’intégration avec Visual Studio a été largement mise en avant par les différentes sessions. Objectif :montrer comment ce plugin pour l’IDE de Microsoft aide le développeur, facilite la parallélisation du code, le debug, le profiling.
Cependant Intel demeure réaliste :
Parallel Studio n’est pas une solution miracle. Au développeur de faire, aussi, son travail de codeur : il faut utiliser les bons outils, savoir comment on parallélise son code et encore plus les zones de code à paralléliser (car on ne parallélise pas tout son code). Et il faut savoir mettre en place un cycle de développement parallèle : on " designe " le code, on code, on débogue, on vérifie et on " tune ". Car n’oubliez pas un élément vital : un mauvais code parallélisé s’exécutera lentement. Un code optimisé aux bons endroits sera particulièrement efficace.
Le futur selon Intel Software
La journée s’est conclue avec l’intervention de James Reinders, évangéliste et directeur des logiciels de développements qui a présenté quelques nouveautés à venir. Les outils tels que vTune vont bénéficier des fonctions de Parallel Studio dans les versions sortant courant 2010. Toujours pour l’année prochaine, Intel promet la disponibilité de Parallel Studio Advisor, du support de Windows 7, de Visual Studio 2010 (et du concurrency runtime qui n’est pas actuellement pris en compte). Mais l’un des aspects les plus importants de cette session finale fut le projet Ct Technology que James range dans la catégorie " programmation parallèle avancée ". Ct permet de faire de la programmation parallèle de données, un axe d’optimisation particulièrement important pour Intel. Une bêta publique sera disponible vers la fin de l’année. Il s’agit d’obtenir un haut niveau d’abstraction, capable de montée en charge tout en offrant des performances élevées. Le tout sans recompiler son code, et les outils maison (et de partenaires ?) supporteront cette technologie. Au final, une des réflexions de James mais aussi de Microsoft durant la journée fut : " faut-il un langage parallèle, de nouveaux outils, de nouvelles librairies ? ". Sur le langage spécifique au monde parallèle, James Reinders trouve l’idée intéressante mais pose tout de suite la question sur le code actuel, sa migration. Ce serait un véritable Big Bang affirme-t-il. La question est loin d’être tranchée même si le but d’Intel est d’aider le développeur à concevoir parallèle. Mais alors pourquoi Parallel Studio n’est-il pas disponible sur d’autres systèmes et IDE que Windows et Visual Studio ? Là encore, James a été clair : Intel n’est pas opposé à une arrivée sur Linux, mais quels IDE supporter ?
Pourquoi pas Eclipse… ? Un constat revenait souvent dans la bouche des participants : évangélisation, pédagogie, formation. Le développement parallèle exige une rigueur, une maîtrise du code mais aussi des librairies, des fonctions, et ce, même si les éditeurs simplifient l’approche.
François Tonic
Actualités
Intel Parallel Studio 2011 Getting Started
Pratique
Supplément C++
Livre blanc
Intel Parallel Studio 2011
Intel propose une nouvelle gamme d'outils de développement d'applications pour profiter du multicore via une programmation parallèle. Il s'agit de l'Intel® Parallel Studio qui d'adresse aux développeurs Windows qui possèdent Visual Studio* C/C++2008. Ce nouvel outil est en fait un ensemble qui réunit , Parallel Advisor pour diagnostiquer le code quant aux possibilités de parallélisation, Parallel Composer pour incorporer du parallélisme à l'aide d'un compilateur C++ Intel et des bibliothèques thread safe, Parallel Inspector pour découvrir des conflits de threading éventuels et Parallel Amplifier pour diagnostiquer le comportement des threads.
Liens
Actu
Pratique
Actu
Distributeurs INTEL