Zone des développeurs Intel® :
Coprocesseur Intel® Xeon Phi™

Productivité grâce à l’innovation architecturale associée à des logiciels familiers. Coprocesseur Intel® Xeon Phi™ :

  • Étend la prise en charge matérielle à un plus haut degré de parallélisme avec des économies d’énergie
  • Utilise des modèles de programmation familiers et normalisés pour préserver les investissements
  • Partage la programmation parallèle avec un processeur d’utilisation générale

Nouveau ! Catalogue des applications

Consultez la liste croissante de codes disponibles, téléchargeables ou en cours d’élaboration pouvant être exécutés ou qui sont en cours d’optimisation pour une exécution sur des coprocesseurs Intel® Xeon Phi™.

Afficher maintenant


Avant de vous lancer
Le coprocesseur Intel® Xeon Phi™ est-il adapté à vos besoins ?
Où acheter
Architecture du coprocesseur Intel® Xeon Phi™
Cartes du site : Administrateurs, Développeurs, Investigateurs
Guides et manuels
Guide de démarrage rapide des développeurs sur le coprocesseur Intel® Xeon Phi™
Manuel de référence de l’architecture du jeu d’instructions du coprocesseur Intel® Xeon Phi™
Guide d’administration système

La programmation parallèle fait partie de l’évolution vers l’avenir. Les processeurs et coprocesseurs Intel offrent une méthode convergée vous permettant d’utiliser des modèles et outils de programmation communs.

  • Modèles de programmation parallèle basés sur des normes adaptés à la programmation d’aujourd’hui et de demain
  • Utilisez des flux de travail de développement et une base de code établis pour vous préparer à l’avenir
  • Les techniques sont bénéfiques pour les processeurs et les coprocesseurs, ce qui préserve les investissements passés et à venir.
Programmation pour les produits multicœurs et à nombreux cœurs
Recettes de code pour le coprocesseur Intel® Xeon Phi™

Programmation

Guide du développeur de logiciels pour coprocesseurs Intel® Xeon Phi™

Créer des applications natives

Programmation et compilation

Aide-mémoire : Directives et fonctions

Fonction de délestage automatique de la bibliothèque Intel® Math Kernel Library

Utilisation d’Intel® MPI

Utilisation des extensions OpenMP*

Conception et programmation OpenCL*

ABI System V

Différences d’arithmétique en virgule flottante

Reproductibilité d’une exécution à l’autre

Analyse et configuration de la consommation électrique

Migration de projets Fortran

Débogage

Débogage sur Linux*

Débogage sur Windows*

Optimisation

Optimisation – 1ère partie : Essentiels

Optimisation – 2ème partie : Événements matériels

Unités de surveillance des performances

Optimisation de la boucle

Meilleures méthodes de performance connues

Vidéos d’ateliers pour développeurs de logiciels

Un guide technique de l’environnement de développement de logiciels pour le coprocesseur Intel® Xeon Phi™

Nom/Description Langage de programmation Niveau d’expérience de l’utilisateur

BeginningSlides_ExtractedCode.zip
Exemples extraits de diapos de l’Atelier d’initiation au coprocesseur Intel® Xeon Phi™, y compris des traductions Fortran.

C++, Fortran Débutant

BeginningLabs_FortranVersion.zip
Exercices de laboratoire pour l’Atelier d’initiation au coprocesseur Intel® Xeon Phi™ – Version Fortran.

Fortran Débutant

BeginningLabs_CVersion.zip
Exercices de laboratoire pour l’Atelier d’initiation au coprocesseur Intel® Xeon Phi™ – Version C++.

C/C++ Débutant

Laboratoires d’ateliers avancés
Laboratoires couvrant des concepts plus avancés, comme Intel® MKL, Intel® MPI, le débogage, l’optimisation de la mémoire, le réglage et la vectorisation.

C/C++, Fortran Avancé

Importance de la vectorisation (exemple Fortran)
Pour obtenir de bonnes performances de l’architecture Intel® MIC (Intel® Many Integrated Core) et des systèmes équipés de coprocesseurs Intel® Xeon Phi™, les applications doivent tirer parti des registres SIMD 16 voies et du traitement à nombreux cœurs.

Fortran Avancé

Les nombreux visages du parallélisme
Ce laboratoire contient de nombreux exemples (sommes de Riemann, SGEMM, Fibonacci, Qsort, décomposition de Cholesky, algorithmes, ensemble de Mandelbrot) décrivant en détails les étapes nécessaires au passage d’un problème série à une solution parallèle exécutée sur un coprocesseur Intel® Xeon Phi™.

C/C++ Avancé

Exemples XE pour Intel® SDK for OpenCL* Applications

OpenCL Débutant, intermédiaire

Conférence des services financiers iXPTC 2013

C/C++ Débutant, intermédiaire

Exercices de laboratoire SHOC MD
Utilisation d'une implémentation simple d'un calcul par paire n corps à l’aide du potentiel Lennard-Jones utilisé en dynamique moléculaire comme exemple de portage et d’optimisation des applications.

C/C++ Débutant, intermédiaire

High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches
par James Reinders et James Jeffers – Date de publication : 17 novembre 2014 | ISBN-10 : 0128021187 | ISBN-13 : 978-0128021187


Structured Parallel Programming: Patterns for Efficient Computation
par Michael McCool, James Reinders et Arch Robison – Date de publication : 9 juillet 2012 | ISBN-10 : 0124159931 | ISBN-13: 978-0124159938


Intel® Xeon Phi™ Coprocessor High Performance Programming
par Jim Jeffers et James Reinders – Disponible dès maintenant !


Parallel Programming and Optimization with Intel® Xeon Phi™ Coprocessors
par Colfax International


Intel® Xeon Phi™ Coprocessor Architecture and Tools - The Guide for Application Developers
par Reza Rahman


Optimizing HPC Applications with Intel Cluster Tools: Hunting Petaflops
par Alexander Supalov

Cette page contient un recueil croissant de codes communément accessibles ou téléchargeables pouvant être exécutés sur les coprocesseurs Intel® Xeon Phi™.

Si vous avez réalisé une promotion en amont d’un code communautaire, veuillez publier un thème de discussion sur le forum Intel® Many Integrated Core Architecture afin de nous le faire savoir, pour que nous puissions mettre la liste à jour.

Dernières modifications :

4/2/2015 – Ajout d’une recette Embree
22/1/2015 – Ajout d’une recette miniGhost
20/1/2015 – Ajout d’une recette de l’algorithme NCBI BLAST
14/10/2014 – Ajout de recettes pour la formule Black-Scholes-Merton, HBM, Monte Carlo European Option avec nombres aléatoires générés préalablement
18/9/2014 – Ajout d’une recette NWChem
5/9/2014 – Mise à jour de la recette LAMMPS* pour coprocesseur Intel® Xeon Phi™
23/8/2014 – Ajout d’une recette BWA*
21/8/2014 – Ajout d’une recette Amber 14
3/7/2014 – Ajout d’une recette de NOAA NIM avec prise en charge pour coprocesseur Intel® Xeon Phi™
30/6/2014 – Ajout de recette pour le tarif Monte Carlo European Option avec Interface RNG pour coprocesseur Intel® Xeon Phi™
23/6/2014 – Ajout d’une recette NAMD
4/6/2014 – Ajout d’une recette Quantum ESPRESSO* pour coprocesseur Intel® Xeon Phi™
22/5/2014 – Ajout d’une recette de Mathworks* MATLAB
22/5/2014 – Ajout d’une recette de GROMACS pour coprocesseur Intel® Xeon Phi™
15/5/2014 – Ajout d’une recette de modèle de tarification binomial des options
14/4/2014 – Ajout de recette pour le banc d'essai Hogbom Clean
20/3/2014 – Ajout d’une recette d’exécution WRF avec banc d’essais conus2.5km en mode symétrique

Code (dans l’ordre alphabétique) Segment Où télécharger Recette d’installation (le cas échéant)

Amber

Amber est le nom collectif d’une suite de programmes permettant aux utilisateurs de réaliser des simulations de dynamique moléculaire

Biomolécules Amber 14 Suivez cette recette de création et d’exécution

Formule Black-Scholes-Merton sur le coprocesseur Intel® Xeon Phi™

 

Finances Télécharger le code source Suivez cette recette

BLAST

L’algorithme NCBI BLAST et la suite d’applications associée, est utilisé de manière étendue dans le domaine de la bioinformatique

Bioinformatique Télécharger le code source Suivez cette recette

BOPM (modèle de tarification binomial des options)

Le modèle BOPM est une méthode numérique généralisée utilisée pour évaluer les options dans l’industrie des services financiers quantitatifs

Services financiers BOPM Suivez cette recette de création et d’exécution

BWA* ALN 0.5.10 pour coprocesseurs Intel® Xeon Phi™

BWA* est un progiciel permettant de réaliser le mappage de séquences à faible divergence sur un grand génome de référence.

Bioinformatique BWA* Suivez cette recette de création et d’exécution

Embree

Embree est une collection de noyaux de traçage de rayons hautes performances, optimisés pour créer des rendus réalistes de qualité photographique sur les derniers processeurs Intel®

Traçage de rayons Téléchargement de code source Suivez cette recette

GEMM, STREAM, Linpack

GEMM et Linpack réalisent tous les deux des opérations à matrice dense de base visant à améliorer les performances en virgule flottante sur le coprocesseur. STREAM est un test de largeur de bande mémoire visant à améliorer les performances de la mémoire GDDR.

Enseignement Ces bancs d’essai peuvent être obtenus en téléchargeant Intel® MPSS (Intel® Manycore Platform Software Stack) – Ils sont inclus dans les kits de performance, dont l’installation est facultative, qui placent les bancs d’essai et la documentation associé dans /opt/intel/mic/perf pour la version 2.x de MPSS ou /usr/share/micperf pour la version 3.1.* de MPSS.

Utilisateurs d’Intel® MPSS 2.1 : Suivez les directives du Chapitre 5 du fichier Readme d’Intel® MPSS concernant l’installation et la configuration.

Utilisateurs d’Intel® MPSS 3.1 : Suivez les directives du Chapitre 4 du MPSS_Users_Guide concernant l’installation et la configuration.

Pour STREAM, si vous préférez télécharger la source vous-même, la recette de compilation et d’optimisation se trouve ici

GROMACS pour coprocesseur Intel® Xeon Phi™

GROMACS est un ensemble polyvalent permettant de réaliser des calculs de dynamique moléculaire en utilisant des équations de mouvement newtoniennes.

Simulations chimiques GROMACS Suivez cette recette de création et d’exécution

GTC-P (Gyrokinetic Toroidal Code - Princeton)

Le code GTC (gyrokinetic toroidal code) est un code PIC (particle-in-cell) massivement parallèle de simulation de turbulences soutenant l’expérience du plasma en combustion, l’étape suivante essentielle de la recherche sur la production d’énergie par fusion nucléaire. Il s’agit d’une version de décomposition de domaine 2D du code PIC GTC global pour l’étude du transport dans les cœurs microturbulents.

Université Soumettez une demande de code ici.

Suivez les instructions qui se trouvent ici pour la création et l’exécution

HBM pour le coprocesseur Intel® Xeon Phi™

 

Prévisions océanographiques Demandes d’e-mail MoU : Per Berg ou Jacob Weismann Poulsen Suivez cette recette

Banc d'essai Hogbom Clean

Banc d’essais qui met en œuvre le noyau de l’algorithme de déconvolution Hogbom Clean. Fait partie de l’ensemble de bancs d’essais ASKAP, utilisé pour tester les plates-formes du processeur de données scientifiques ASKAP (Australian SKA Pathfinder).

Astronomie, enseignement universitaire

GitHub

Voir cette recette pour la configuration et la compilation

LAMMPS* pour coprocesseur Intel® Xeon Phi™

Le code LAMMPS* (Large-scale Atomic/Molecular Massively Parallel Simulator) est un code de calcul classique de dynamique moléculaire.

Dynamique moléculaire LAMMPS Suivez cette recette de création et d’exécution

LBS3D

Outils de simulation d’écoulements multiphasiques basée sur la méthode d’énergie libre LBM (Lattice Boltzmann Method), importants pour la mécanique des fluides numérique. Le code autorise la simulation d’écoulements à deux phases quasi incompressibles et utilise des modèles multiphasiques autorisant des rapports de densité élevés.

Fabrication mplabs

Suivez les instructions de compilation ici

(Reportez-vous également au livre blanc)

Mantevo MiniFE

Mini-application indépendante et autonome qui encapsule les caractéristiques de performance les plus importantes (génération, assemblage, solution) d’une application utilisant une analyse par la méthode des éléments finis implicite en code C++. Le domaine physique est une boîte tridimensionnelle modélisée par des éléments hexaédraux (parfois appelés « briques »). La boîte est discrétisée comme une grille structurée mais traitée comme non structurée. Le domaine est décomposé pour l’exécution parallèle en utilisant une bissection de coordonnées récursive (RCB).

Enseignement mantevo.org > Télécharger

Suivez les directives de cette étude de cas MiniFE pour comprendre quelles balises/options utiliser pour exécuter MiniFE sur l’hôte, le coprocesseur ou les deux

Mathworks* MATLAB*

Programme interactif qui réalise des calculs et des visualisations mathématiques

Traitement des signaux et communications, création de contenu numérique, services financiers, biologie computationnelle mathworks.com

Reportez-vous à cette recette pour savoir comment l’utiliser à l’aide des fonctionnalités de délestage automatique de la bibliothèque Intel® Math Kernel Library

miniGhost

miniGhost est une mini-application de différence finie qui implémente un schéma de différence sur la totalité d’un domaine tridimensionnel homogène.

Algorithmes scientifiques Télécharger le code

Suivez cette recette

Monte Carlo European Option avec nombres aléatoires générés préalablement

 

Finances Télécharger le code source Suivez cette recette

Tarif Monte Carlo European Option avec interface RNG pour coprocesseur Intel® Xeon Phi™

Échantillonnage statistique Télécharger le code

Suivez cette recette de création et d’exécution

MPI-HMMER

Une version de HMMER, un modèle de Markov caché pour l’analyse des séquences de protéines. Dans cette version, deux routines, hmmsearch et hmmpfam, ont été modifiées pour utiliser MPI pour le parallélisme.

Enseignement

https://code.google.com
/p/mpihmmer/

Voir cette recette pour la compilation et l’optimisation

NAMD

NAMD est un code parallèle de dynamique moléculaire conçu pour les simulations hautes performances de grands systèmes biomoléculaires

Dynamique moléculaire NAMD Suivez cette recette de création et d’exécution

NOAA NIM avec prise en charge du coprocesseur Intel® Xeon Phi™

Climat et météo NOAA/ESRL Suivez cette recette

NWChem fournit des outils de chimie computationnelle adaptables

Chimie computationnelle NWChem Suivez cette recette

Quantum ESPRESSO* pour coprocesseur Intel® Xeon Phi™

Quantum ESPRESSO est une suite intégrée de codes informatiques Open Source pour le calcul de structure de bande électronique et la modélisation de matières à l’échelle nanométrique.

Modélisation des matières

Quantum ESPRESSO*

Suivez cette recette de création et d’exécution

SHOC

La suite de bancs d’essai Scalable Heterogeneous Computing (SHOC GitHub) peut être utilisée pour mesurer les performances et la stabilité de systèmes basés sur un coprocesseur. Le banc d’essai a été porté en vue de prendre en charge Intel® Xeon Phi™ en utilisant des structures de programmation de délestage implémentées dans le compilateur Intel® disponible dans le cadre du kit Intel® Composer XE 2013.

Enseignement

GitHub

Voir cette recette pour la configuration et la compilation

WRF

Le modèle WRF (Weather Research and Forecasting) est un système de prévision météorologique numérique conçu pour répondre aux besoins de la recherche atmosphérique et de la prévision opérationnelle. Le modèle WRF est utilisé par des scientifiques spécialistes de l’atmosphère dans le cadre universitaire, des équipes de prévision de centres opérationnels, des scientifiques spécialistes des applications, etc. Reportez-vous à http://www.wrf-model.org/index.php pour davantage d’informations sur le modèle WRF.

Météorologie, enseignement Page des utilisateurs du modèle WRF

Voir cette recette pour la configuration et la compilation

Reportez-vous à cette recette pour exécuter le banc d’essais conus2.5km en mode symétrique

  • Intel® Many Integrated Core Architecture
  • Serveur
  • Développeurs
  • Intel Xeon Phi Coprocessor
  • Derniers messages

    Intel® Xeon Phi™ Coprocessor Developer's Quick Start Guide
    Par loc-nguyen (Intel)Publié le 09/29/20149
    Download Entire Articles Linux*:    Intel® MPSS 2.1 Users: Download Intel® Xeon Phi™ Coprocessor Developer's Quick Start Guide [PDF 763KB] Intel® MPSS 3.x Users: Download Intel® Xeon Phi™ Coprocessor Developer's Quick Start Guide for MPSS 3.4  [PDF 786KB]   Microsoft* Windows:   Downlo...
    Asynchronous Offload - Fortran Code Examples
    Par AmandaS (Intel)Publié le 09/26/20140
    This document provides information about asynchronous data transfer, asynchronous computation and memory management without data transfer. This document includes code examples of common usage scenarios. The examples in this article are in Fortran only. Introduction Two different Fortran directi...
    Asynchronous Offload - C++ Code Examples
    Par AmandaS (Intel)Publié le 09/26/20140
    This document provides information about asynchronous data transfer, asynchronous computation and memory management without data transfer. This document includes code examples of common usage scenarios. The examples in this article are in C/C++ only. Introduction Two different C++ pragmas are...
    Prominent features of the Intel® Manycore Platform Software Stack (Intel® MPSS) version 3.4
    Par Ravi MurtyPublié le 09/24/20140
    The Intel® Manycore Platform Software Stack (Intel® MPSS) version 3.4 was released on September 22, 2014. This page lists the prominent features in this release. Intel® MPSS Changes to the uninstall script in Linux* for custom built RPMs Support for ntpd in the initramfs for the Intel® Xeo...
    S’abonner à Articles de la Zone des développeurs Intel
    problem executing in symmteric mode
    Par Wasim M.8
    Hi,     I am trying to execute mic code from host. I am facing the following problem.  Launch arguments: /usr/bin/ssh -x -q cm1 sh -c 'export I_MPI_ROOT="/opt/intel//impi/5.0.1.035" ; export PATH="/opt/intel/impi/5.0.1.035/intel64/bin/:${I_MPI_ROOT}/intel64/bin:${PATH}" ; exec "$0" "$@"' pmi_proxy --control-port 10.1.1.249:35336 --debug --pmi-connect lazy-cache --pmi-aggregate -s 0 --enable-mic --i_mpi_base_path /opt/intel/impi/5.0.1.035/intel64/bin/ --i_mpi_base_arch 0 --rmk user --launcher ssh --demux poll --pgid 0 --enable-stdin 1 --retries 10 --control-code 1970575286 --usize -2 --proxy-id 0 [mpiexec@compute-0-4.local] STDIN will be redirected to 1 fd(s): 9 pmi_proxy: /opt/intel/impi/5.0.1.035/intel64/bin/pmi_proxy: cannot execute binary file pmi_proxy: /opt/intel/impi/5.0.1.035/intel64/bin/pmi_proxy: Success (standalone code on mic is working fine). Plz help. Thanks. 
    Predict the performance on Intel xeon phi
    Par Sai Sudheer G.5
    Hello All, I'm trying to predict the performance of openmp programs on intel xeon phi using machine learning techniques. However, I wanted to know if there's any work that has been done on the same (I could not find any) and if not, is there a tool to obtain the static analysis of the code, more specifically, to obtain a region wise summary of the code that would indicate the number and type of operations that are executed in each region. Thank you, Sudheer
    Using COI creating a new process on host
    Par Qiang L.2
    Hi, I am using COI programming model on Xeon phi. I can start a process on Xeon phi from host successfully, But I can not start a process on host from host or start a process on host from Xeon phi. For examople, when I want to start process on host from host my code is as follows: #include <stdio.h> #include <stdlib.h> #include <source/COIProcess_source.h> #include <source/COIEngine_source.h> int main() {     COIRESULT result = COI_ERROR;     COIPROCESS proc;     COIENGINE engine;     unsigned int num_engines = 0;    const char *SINK_NAME0 = "connect";     result0 = COIEngineGetCount(COI_ISA_x86_64, &num_engines);//instead of using COI_ISA_MIC     if(result0!=COI_SUCCESS)     {         printf("COIEngineGetCount result %s\n",    COIResultGetName(result0));         return -1;     }     if(num_engines<1)     {         printf("Error: Need at least 1 engine!\n");         return -1;     }     printf("the total engines num is %d\n",num_engine...
    Can individual cores be turned off?
    Par Ram S.2
    As an hobbyist developer, electricity cost is highest on my concern. So I just wanted to know whether it is technically possible to run the number of cores in proportional to power available off solar panels?  Let's say morning time, panels are able to generate 100 watts (assuming 300 TDP for KNL, 60 cores ), so without any expense on storage mechanism, I turn on only 20 cores, give or take some for overhead power consumptions.
    Can Intel Xeon Phi be configured to receive data direct from FPGA board, process them and send result to host memory
    Par Ilya I.2
    Can Intel Xeon Phi be configured to receive data direct from FPGA board, process them and send result to host memory? I have large flow of input data and don't want to have redundant transfers (FPGA board ->Host Memory->MIC->Host Memory) over PCI. I want mor elegant scheme (FPGA board-> MIC->Host Memory)
    micsmc : fonts are not diplayed correctly on X11
    Par Xavier B.2
    Dear All, I have currently an issue with micsmc that doesn't seems to display the font correctly. Since this is static binary, I cannot find what kind of fonts it should use and I get some black cube instead (seem screen cap here). Can someone help give me advice ? (Notice I display on my X11 on my Mac using X forwarding with SSH, there is NO X11 on the server where the Phi is. The OS used it CentOS 7, the Phi works like a charm). Kind regards,
    OpenMP program hangs with >256 threads
    Par Craig R.6
    While trying to characterize some Phi performance over large numbers of OpenMP threads I've noticed strange behavior where programs hang with >256 threads. I've pared things down to the following example: #include <omp.h> #include <stdio.h> int main(int argc, char *argv[]) { int threads = 257; // omp_set_dynamic(1); #pragma omp parallel #pragma omp single { printf("single %d of %d\n", omp_get_thread_num(), omp_get_num_threads()); } #pragma omp parallel num_threads(threads) { for (int j=0; j<10; j++) { printf("thread %d iteration: %d\n", omp_get_thread_num(), j); } } }If I compile/run this on my Phi host it works fine.  If I compile and run this on the Phi, it prints out the 10 iterations then hangs.  If you set threads <=256 then it works fine on the Phi.  If you omp_set_dynamic(1) and set the threads >256 then it works fine. The key seems to be having the first default parallel region followed by a second one that uses mo...
    Status of threads
    Par hayder2
    Hi, How do I know the status (busy or idle) of threads or core in MIC? Is there any register to track thread's status? Thanks in advance
    S’abonner à Forums
    Aucun contenu trouvé
    S’abonner à Blogs de la Zone des développeurs Intel®