Un numéro offert




Recherche :

Le développement parallèle avec Intel Parallel Studio 2011
Version finale : Intel Parallel Studiodébarque

Télécharger l'article en PDF

La programmation est l’art de schématiser et simplifier un processus pour l’automatiser. Nous aboutissons donc le plus souvent à un code sériel. Avec l’arrivée de puces multi-core, et bientôt massivement multi-core cette approche atteint ses limites : Il vous faut passer à la programmation parallèle. N’ayez crainte, Intel est là pour vous aider avec un ensemble logiciel aussi convivial que complet : Intel Parallel Studio.

Le parallélisme se conçoit à plusieurs niveaux, mais celui qui nous intéresse ici est le " thread ". Intel Parallel Studio est un ensemble de logiciels pour vous aider à introduire du multi-threadisme dans votre logiciel, corriger les éventuels bugs parallèles et enfin améliorer la performance. En pratique, Parallel Studio se présente comme un ajout à Microsoft Visual Studio avec lequel il est fortement intégré.

Introduire du multi-threadisme

La première étape est l’ajout de sections parallèles dans votre code. Choix cornélien tant les technologies proposées sont variées. Intel recommande et fournit une très bonne implémentation d’OpenMP et de la librairie Threading Building Block. Le standard OpenMP est le bon choix pour les programmeurs orientés C qui préfèrent garder un style sériel et minimiser les changements de code. La librairie TBB est, elle, destinée aux adeptes du C++ qui ne sont pas contre une incursion dans la programmation fonctionnelle. Avec ces deux solutions vous devriez pouvoir résoudre une grande partie de vos besoins. Une fois la méthode choisie, paralléliser une partie simple de votre code est étonnamment rapide. Mais il ne s’agit que d’un début.

Chasser les bugs

Avec la programmation parallèle apparaissent des bugs spécifiquement parallèles. Ils sont sournois et complexes à tracer. Il est alors très utile d’avoir un outil comme Parallel Inspector. Cet outil instrumente et analyse de manière extrêmement avancée l’exécution de votre logiciel pour trouver des bugs, et ce même s’ils ne s’exécutent pas dans les conditions particulières du test. Le résultat est un simple tableau très complet pointant vers les bugs dans votre code. Il faut cependant comprendre quelles sont les classes de bugs parallèles pour pouvoir comprendre les indications et corriger. Les bugs parallèles sont certes sournois mais ils ont souvent le même mécanisme et des causes similaires. Les corriger est donc souvent simple une fois que l’outil les a pointés.

La touche finale

Vous avez un logiciel parallèle, bravo, mais en pratique encore faut-il qu’il utilise correctement tous ces merveilleux coeurs. Dans une équipe, ajouter des développeurs ne sert que si la méthode de travail permet un partage efficace du travail. Pour vous aider à comprendre comment fonctionne votre logiciel en parallèle, Intel propose Parallel Amplifier. Cet outil mesure comment chaque instruction de votre logiciel interagit avec le processeur à une échelle infime lors de l’exécution, puis agglomère les données pour en faire un résumé simple. Vous pouvez alors trouver les régions chronophages en allant jusqu'à l’échelle de la ligne de code, et les régions qui n’utilisent qu’une partie des coeurs. Vous pourrez aussi savoir quel temps est pris dans la synchronisation d’une variable partagée.

Compilateur et IPP

Intel Parallel Studio a beau mettre en avant ses logiciels de parallélisation, il fournit aussi tout ce qui est nécessaire pour obtenir la meilleure performance en sériel avant même de paralléliser. L’outil clé est le compilateur Intel. Bien intégré dans Visual Studio il est le fruit d’une intense collaboration avec les architectes processeurs. Nul autre compilateur ne sait mieux tirer parti des derniers jeux d’instructions. Apprenez la signification des principaux flags et vous gagnerez à coup sûr, sur le temps d’exécution. Le compilateur Intel ne respecte pas seulement le standard, il le devance. Ainsi vous trouverez le support pour les fonctions lambda et autres innovations syntaxiques dans la dernière version. Il serait triste de consacrer du temps à l’optimisation de votre code et d’utiliser par ailleurs des librairies peu performantes. Aussi Parallel Studio est fourni avec la librairie Intel Performance Primitives. Derrière ce nom se cachent en fait des codecs audio ou vidéo ultra optimisés, des fonctions d’imagerie par pipeline, de cryptographie, mathématiques … et bien d’autres.

Conclusion

Les concepteurs de Parallel Studio avaient pour ambition de démystifier et simplifier la programmation parallèle. Je pense qu’ils ont réussi. Jugez en par vous-même avec la version d’essai.

Paul Guermonprez
Ingénieur logiciel - Intel


Actualités

Intel Parallel Studio 2011 Getting Started


Pratique

Supplément C++
Téléchargez gratuitement le supplément de 24 pages, publié en Juillet 2011
Télécharger le PDF

Livre blanc


Téléchargez le Guide Intel Parallel Studio : toutes les infos et les liens ! Pratique, forum, downlaoad, cas clients etc.
Faites évoluer votre code
• Pourquoi passer à la programmation parallèle
• Simplifier le développement parallèle
• La chasse aux bogues parallèles
• Plus de coeurs, plus rapide, plus de montée en charge
• Vous ne reconnaîtrez plus votre C++

Téléchargez le PDF complet
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
Page d'accueil Intel Parallel Studio
Présentations vidéos

Actu

Pratique


Actu


Distributeurs INTEL

FRANCE

Micro Sigma
+ 33 (1) 55 90 99 16
http://www.microsigma.fr/intel
info@microsigma.fr

Comsoft-SOS Developers
Tel 0825 07 06 07 – 0825 07 06 08 (fax)
www.comsoft-direct.fr/intel
infos@comsoft.fr

ALLYS
+33 (0)1 4763 9344, +33 (0)1 4763 9344
http://www.allys-soft.com
allys@allys-soft.com

Insight France
+33 (1) 30 67 25 00
http://fr.insight.com
linfo.fr@insight.com

RITME INFORMATIQUE
+33 (0) 1.4246.0042, +33 (0) 1.4246.0033
http://www.ritme.com
info@ritme.com

Software Technology Resources
+33 (1) 30 70 61 61
http://http://www.str.fr
contact@str.fr

transtec S.A.R.L.
+33 (0) 3.88.55.16.00, +33 (0) 3.88.55.16.09 (fax)
www.transtec-cluster.com
ccenter@transtec.de


BELGIQUE

ttec Computers B.V.B.A.
+32 (0) 800 93 920, +32 (0) 800 93 921 (fax)
www.transtec-cluster.com
ccenter@transtec.de

SOS Developers
+32 (0800) 74.756, +32 (0800) 74.757 (fax)
http://www.sosdevelopers.com/
benelux@sosdevelopers.com


SUISSE

COMSOL AG
+41 (31) 998.44.11, +041 (31) 998.44.18 (fax)
http://www.comsol.ch/Intel
info@comsol.ch

PC-Ware Systems (Schweiz) AG
+41 41 925 50 50, +41 41 925 51 51 (fax)
http://www.pc-ware.ch
mail@pc-ware.ch

SCIENTIFIC SOLUTIONS
+41 021 711 15 20, +41 021 711 15 21 (fax)
http://www.scientific-solutions.ch
info@scientific-solutions.ch

SOS Software Service GmbH
+41-52-728 07 38; +41-52-720 93 70 (fax)
http://www.sos-software.ch/intel
intel@sos-software.ch

transtec Computer AG
+41 (0) 44/818 47 00, +41 (0) 44/818 47 20 (fax)
www.transtec-cluster.com
ccenter@transtec.de

Programmez.com - 2013 - Tous droits réservés
Développement - WEB - ASP - PHP - C++ - Delphi - Java - Magazines - Ressources - Forum - Télécharger - Video - Emploi - Campus - .Net - Tutoriels

Le présent site Web est édité par Go 02, Sarl inscrite au RCS de Paris sous le N° 411321366 et dont le siège social est au 21 rue de Fécamp 75012 Paris.
Adresse de courrier électronique :diff@programmez.com

Le directeur de la publication du site www.programmez.com est Jean-Claude Vaudecrane en qualité de gérant de la sarl GO 02

Le portail du décideur informatique en entreprise : Solutions & Logiciels