Titre_Itanium_XP 29/12/04 11:14 Page 1 Les processeurs Itanium Programmation et optimisation Smail Jamel © Groupe Eyrolles, 2005, ISBN : 2-212-11536-9 Niar Tayeb Livre Itanium.book Page VII Mardi, 28. décembre 2004 3:05 15 Avant-propos Vous tenez entre vos mains un ouvrage que nous avons voulu innovant à plus d’un titre. Nous sommes en effet heureux de vous présenter le premier livre en langue française entièrement consacré à l’optimisation des logiciels pour l’architecture EPIC (Explicit Parallel Instruction Computer) des processeurs Itanium d’Intel Corporation. Cet ouvrage présente également de façon claire et concise une méthodologie d’optimisation et des techniques d’analyse de code ; il propose aussi une palette de mesures correctives pour lever les goulets d’étranglement détectés et obtenir ainsi des programmes idéalement optimisés pour les processeurs Itanium. À qui s’adresse cet ouvrage ? Nous avons souhaité écrire un livre éminemment pratique et accessible à tous les développeurs d’applications qui ne sont pas forcément des spécialistes en micro-architecture des processeurs. Il s’adresse donc en premier lieu aux programmeurs professionnels qui doivent ou planifient de porter leurs applications sur une plate-forme équipée de processeurs Itanium. Il s’adresse ensuite aux étudiants et élèves ingénieurs qui souhaitent préparer leur carrière professionnelle en intégrant dès aujourd’hui des techniques d’optimisation spécifiques à une architecture novatrice et en cours d’adoption par l’industrie. Enfin, ce livre concerne tous les amateurs de programmation et de technologies qui y trouveront de nombreuses informations relatives à l’architecture EPIC que ses créateurs – Hewlett-Packard et Intel – ont conçue pour les processeurs qui équiperont les serveurs pendant la décennie à venir. Objectif et plan du livre Nous avons conçu ce livre en gardant toujours à l’esprit l’objectif principal que nous nous étions fixé lors de la définition de ce projet : offrir aux programmeurs – au sens large – un outil pratique pour les assister dans l’optimisation de leurs logiciels pour l’architecture EPIC. Ce livre n’est donc pas une énième description par le détail de l’architecture des processeurs – dont l’Itanium –, ni même un ressassé des manuels d’utilisation des compilateurs. En revanche, lorsque cela s’avérera indispensable à la Livre Itanium.book Page VIII Mardi, 28. décembre 2004 3:05 15 VIII Les processeurs Itanium bonne compréhension de nos propos, nous vous présenterons, toujours sous un angle pratique et didactique, les aspects architecturaux d’EPIC et les outils nécessaires à la mise en œuvre des méthodologies et des techniques que nous vous recommanderons. Notre ouvrage se compose de six chapitres : • L’architecture de l’Itanium et son jeu d’instructions. Le chapitre 1 présente les principes fondamentaux de l’architecture EPIC. Nous y passerons en revue les éléments clés à connaître avant d’entamer toute optimisation du code pour les processeurs Itanium. Nous y décrirons aussi les éléments du jeu d’instructions que nous aurons à manipuler au cours de nos optimisations. • Exploiter EPIC dans les applications. Le chapitre 2 expose les options et outils offerts par les compilateurs. Puis nous examinerons comment les employer pour exploiter de façon efficace les ressources de l’architecture EPIC présentées au chapitre précédent. • Lire l’assembleur EPIC et aider le compilateur. Le chapitre 3 est consacré à l’analyse du code assembleur généré par un compilateur pour l’architecture EPIC, ainsi qu’à la recherche des indices de problèmes de performance. Nous proposerons alors les actions correctives via le compilateur. L’outil d’analyse VTune d’Intel y sera également présenté afin de vous préparer au chapitre suivant. • L’analyse micro-architecturale. Le chapitre 4 présente l’analyse micro-architecturale pour les processeurs Itanium et propose une méthodologie quasi-systématique pour localiser précisément où se situent les goulets d’étranglement dans un logiciel. Nous verrons également pour quelles raisons le processeur n’effectue aucune tâche utile pour votre programme. Nous vous proposerons, ici aussi, les actions correctives qui s’imposent. • Le portage 64 bits. Le chapitre 5 développe la problématique à la fois du portage et de l’exécution d’une application 32 bits en mode 64 bits sur les plates-formes équipées de processeurs Itanium. Nous étudierons ainsi les principales difficultés techniques et proposerons les solutions de cet exercice. • Les études de cas. Enfin, le chapitre 6 regroupe des études de cas. Il s’agit d’une sélection d’applications réelles que nous avons portées en 64 bits, analysées et optimisées pour l’architecture EPIC.