Intel IDF: logiciels et ‘multi-threading’

Régulations

Une solution plate-forme est composée du hardware, d’une plate-forme software et de l’apport personnel des développeurs. Pour accompagner ces étapes, Intel dispose de sa division software, une activité majeure et pourtant peu connue

Au moment où Intel multiplie les plates-formes multi core, jusque sous les environnements Apple, au moment où le XML s’impose et où il devient stratégique d’intégrer l’approche du marquage de l’information, Kevin J. Smith, directeur du ‘Compiler Labs’ d’Intel est revenu sur la stratégie software du fondeur.

Multi core, mais aussi multithreading, la puissance des plates-formes impose de revoir l’architecture des logiciels afin de prendre en compte les capacités de parallélisation des applications et d’exploitation des threads pour des gains de performance qui peuvent atteindre 40 %. Le cycle d’adaptation des applications se déroule en quatre phases : le code source, la compilation, les chemins (parallélisation) et le débogage. Hors le code source, Intel propose des outils pour toutes les autres phases, sous Windows, Linux et désormais Mac OS X, ainsi que des outils d’analyse des performances sous Linux et Windows. Certains d’entre eux sont intégrés avec Eclipse sous Linux ou Visual Studio .NET sous Windows. Ces outils permettent une analyse des performances, l’introduction des threads dans le design, le ‘debug’ des erreurs, et l’optimisation des performances. Intel VTune analyse les performances, visualise les composants sous forme graphique, montre les chemins critiques. La parallélisation est quasi automatique pour identifier les algorithmes qu’il faudra modifier, modifier le design du code et introduire les threads. Le modèle de thread sera OpenMP (codéveloppé par Intel), Explicit Threads (pthread, système d’appel, etc.) ou encore Massage Passing (MPI). La phase de ‘debug’ via Intel Debugger apportera les corrections éventuelles en repérant les problèmes potentiels de synchronisation entre les threads. Enfin, la phase d’analyse des performances avec Intel Thread Profiler permettra de s’assurer que les performances d’un thread ou de multiples threads seront optimales en repérant les n?uds de congestion et de blocage. Bien évidemment, Intel propose des librairies de performance qui fournissent en théorie la meilleure méthode d’optimisation, de parallélisation et de portabilité d’une application. Intel fournit aussi une librairie de c?urs (kernel) mathématiques pour optimiser les librairies scientifiques, d’ingénierie et d’applications. Mais surtout, les outils du fondeur sont prêts pour le multi core. Les éditeurs sérieux n’ont donc plus d’excuse pour ne pas porter leurs applications sur les environnements multi core et multithreads ! Un compilateur Intel pour Mac OS X

Avec l’arrivée des technologies Intel sur les ordinateurs Macintosh d’Apple, le fondeur n’a pas oublié d’adapter son offre logicielle au Mac OS X version 10.4.4 et Xcode 2.2.1. L’intégration de l’IDE Xcode permet l’intégration totale de C++ et l’intégration en mode prévisualisation de Fortran. SSE, SSE2 et SSE3 son ‘auto vectorisés’. La parallélisation automatique est assurée par OpenMP 2.5. La compatibilité du compilateur et du langage s’étend à GNU compiler 4.0 et suivants, Objective C, C++ Compiler.


Lire la biographie de l´auteur  Masquer la biographie de l´auteur