Intel® Developer Zone:
Coprocessore Intel® Xeon Phi™

Produttività tramite innovazione dell'architettura e software consueto. Coprocessore Intel® Xeon Phi™:

  • Estende il supporto hardware portandolo a livelli più elevati di parallelismo con risparmi energetici
  • Utilizza modelli di programmazione standardizzati e consueti che conservano nel tempo gli investimenti
  • Condivide la programmazione parallela con il processore per scopi generali

Novità! Catalogo delle applicazioni

Consultate l'elenco crescente di codice disponibile, scaricabile o in lavorazione che può essere eseguito o è in fase di ottimizzazione per essere eseguito con i coprocessori Intel® Xeon Phi™.

Visualizza adesso


Per iniziare
Il coprocessore Intel® Xeon Phi™ è adatto alle vostre esigenze?
Dove acquistare
Architettura del coprocessore Intel® Xeon Phi™
Mappe del sito: Amministratori, Sviluppatori, Ricercatori
Guide e manuali
Guida rapida per gli sviluppatori del coprocessore Intel® Xeon Phi™
Manuale di riferimento dell'architettura per il set di istruzioni del coprocessore Intel® Xeon Phi™
Guida all'amministrazione del sistema

La programmazione parallela fa parte dell'evoluzione verso il futuro. I processori e coprocessori Intel offrono un metodo convergente che consente di usare modelli e strumenti di programmazione comuni.

  • Modelli di programmazione basati su standard che si adattano alle dimensioni di oggi e a quelle di domani
  • Usate flussi di lavoro di sviluppo e una base di codice consolidati per aumentare le dimensioni
  • Tecniche che avvantaggiano sia i processori che i coprocessori con conseguente risparmio sugli investimenti passati e futuri
Programmazione per prodotti multicore e many-core
Ricette di codice per il coprocessore Intel® Xeon Phi™

Programmazione

Guida per gli sviluppatori di software per il coprocessore Intel® Xeon Phi™

Creare applicazioni native

Programmazione e compilazione

Foglio riepilogativo: Direttive e funzioni

Offload automatico della Math Kernel Library

Uso di Intel® MPI

Uso delle estensioni OpenMP*

Progettazione e programmazione OpenCL*

System V Application Binary Interface

Differenze nell'aritmetica in virgola mobile

Riproducibilità e confronto diretto delle esecuzioni

Analisi energetica e configurazione

Migrazione di progetti Fortran

Debugging

Debugging su Linux*

Debugging su Windows*

Ottimizzazione

Ottimizzazione – Parte 1: Notizie essenziali

Ottimizzazione – Parte 2: Eventi hardware

Unità di monitoraggio delle prestazioni

Ottimizzazione dei loop

Metodologie ottimali per le prestazioni

Video dei workshop sullo sviluppo del software

Guida tecnica all'ambiente di sviluppo del software per il coprocessore Intel® Xeon Phi™

Nome/Descrizione Linguaggio di programmazione Livello di esperienza utente

BeginningSlides_ExtractedCode.zip
Esempi estratti dalle diapositive per il Workshop di livello iniziale sul coprocessore Intel® Xeon Phi™, incluse le traduzioni Fortran.

C++, Fortran Principiante

BeginningLabs_FortranVersion.zip
Esercizi di laboratorio per il Workshop di livello iniziale sul coprocessore Intel® Xeon Phi™ – versione Fortran.

Fortran Principiante

BeginningLabs_CVersion.zip
Esercizi di laboratorio per il Workshop di livello iniziale sul coprocessore Intel® Xeon Phi™ – versione C++.

C/C++ Principiante

Laboratori del workshop di livello avanzato
Laboratori che trattano concetti più avanzati, quali Intel® MKL, Intel® MPI, il debugging, l'ottimizzazione della memoria, la regolazione e la vettorizzazione.

C/C++, Fortran Avanzato

Importanza della vettorizzazione (esempio Fortran)
Per ottenere buone prestazioni dai sistemi e dall'architettura Intel® Many Integrated Core (architettura Intel® MIC), inclusi i coprocessori Intel® Xeon Phi™, le applicazioni devono utilizzare a proprio vantaggio i registri SIMD di larghezza 16 e i many core.

Fortran Avanzato

Le molte facce del parallelismo
Questo laboratorio contiene numerosi esempi (somme di Riemann, SGEMM, Fibonacci, Qsort, scomposizione e algoritmo di Cholesky, insieme di Mandelbrot) e descrive dettagliatamente le fasi per passare da un problema seriale a una soluzione parallela eseguita con il coprocessore Intel® Xeon Phi™.

C/C++ Avanzato

Esempi di SDK Intel® per applicazioni OpenCL*

OpenCL Principiante, intermedio

Conferenza sui servizi finanziari iXPTC 2013

C/C++ Principiante, intermedio

Esercizi di laboratorio SHOC MD
Uso di una semplice implementazione di calcolo di una coppia di n-corpi usando il potenziale di Lennard-Jones mutuato dalla dinamica molecolare come un esempio di porting e di ottimizzazione delle applicazioni.

C/C++ Principiante, intermedio

High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches
di James Reinders e James Jeffers Data di pubblicazione: 17 novembre 2014 | ISBN-10: 0128021187 | ISBN-13: 978-0128021187


Structured Parallel Programming: Patterns for Efficient Computation
 di Michael McCool, James Reinders e Arch Robison Data di pubblicazione: 9 luglio 2012 | ISBN-10: 0124159931 | ISBN-13: 978-0124159938


Intel® Xeon Phi™ Coprocessor High Performance Programming
di Jim Jeffers e James Reinders - È ora disponibile!


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


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


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

Questa pagina contiene una raccolta crescente di codice scaricabile o comunemente accessibile che può essere eseguito sui coprocessori Intel® Xeon Phi™.

Se avete completato la promozione upstream di un codice community, vi preghiamo di comunicarcelo pubblicando un thread nel forum sull'architettura Intel® Many Integrated Core cosicché ci sia possibile aggiornare questo elenco.

Ultime modifiche:

4/2/2015 -- Aggiunta ricetta per Embree
22/1/2015 -- Aggiunta ricetta per miniGhost
20/1/2015 -- Aggiunta ricetta per l'algoritmo NCBI BLAST
14/10/2014 -- Aggiunte ricette per la formula Black-Scholes-Merton, HBM, l'opzione Monte Carlo European con numeri casuali pregenerati
18/9/2014 -- Aggiunta ricetta per NWChem
5/9/2014 -- Aggiornata ricetta per LAMMPS* per coprocessore Intel® Xeon Phi™
23/8/2014 -- Aggiunta ricetta per BWA*
21/8/2014 -- Aggiunta ricetta per Amber 14
03/07/2014 -- Aggiunta ricetta per NOAA NIM con supporto per coprocessore Intel® Xeon Phi™
30/6/2014 -- Aggiunta ricetta per i prezzi dell'opzione Monte Carlo European con interfaccia RNG per coprocessore Intel® Xeon Phi™
23/6/2014 -- Aggiunta ricetta per NAMD
4/6/2014 -- Aggiunta ricetta per Quantum ESPRESSO* per coprocessore Intel® Xeon Phi™
22/5/2014 -- Aggiunta ricetta per Mathworks* MATLAB
22/5/2014 -- Aggiunta ricetta per GROMACS per coprocessore Intel® Xeon Phi™
15/5/2014 -- Aggiunta ricetta per il Binomial Options Pricing Model
14/4/2014 -- Aggiunta ricetta per il benchmark Hogbom Clean
20/3/2014 -- Aggiunta ricetta per l'esecuzione di WRF con il benchmark conus2.5km in modalità simmetrica

Codice (in ordine alfabetico) Segmento Da dove scaricarlo Installazione ricetta (se necessario)

Amber

Amber è il nome collettivo di una suite di programmi che consente agli utenti di realizzare simulazioni di dinamica molecolare

Biomolecole Amber 14 Seguire questa ricetta per la compilazione e l'esecuzione

Formula Black-Scholes-Merton su coprocessore Intel® Xeon Phi™

 

Finanziario Scaricare codice sorgente Seguire questa ricetta

BLAST

L'algoritmo NCBI BLAST e la relativa suite di applicazioni sono ampiamente utilizzati nel campo della bioinformatica

Bioinformatica Scaricare codice sorgente Seguire questa ricetta

BOPM (Binomial Options Pricing Model)

BOPM è un metodo numerico generalizzato usato per valutare le opzioni di valore nel settore dei servizi finanziari quantitativi

Servizi finanziari BOPM Seguire questa ricetta per la compilazione e l'esecuzione

BWA* ALN 0.5.10 per coprocessori Intel® Xeon Phi™

BWA* è un pacchetto software per mappare sequenze con bassa divergenza rispetto a vasti genomi di riferimento.

Bioinformatica BWA* Seguire questa ricetta per la compilazione e l'esecuzione

Embree

Embree è una raccolta di kernel ray tracing a prestazioni elevate che sono ottimizzati per il rendering fotorealistico sui più recenti processori Intel®

Ray tracing Download del codice sorgente Seguire questa ricetta

GEMM, STREAM, Linpack

GEMM e Linpack eseguono entrambi operazioni di base di matrici dense relative alle prestazioni in virgola mobile del coprocessore. STREAM è un test della larghezza di banda della memoria specifico per le prestazioni della memoria GDDR.

Ricerca Questi benchmark possono essere ottenuti scaricando Intel® MPSS. Sono inclusi in pacchetti per le prestazioni installati facoltativamente che inseriscono i benchmark e la documentazione correlata in /opt/intel/mic/perf (per la versione 2.x di MPSS) o in /usr/share/micperf (per la release MPSS 3.1).*

Utenti di Intel® MPSS 2.1: seguire le istruzioni di installazione e configurazione riportate nel capitolo 5 di Intel® MPSS Readme.

Utenti di Intel® MPSS 3.1: seguire le istruzioni di installazione e configurazione riportate nel capitolo 4 di MPSS_Users_ Guide

Per STREAM, se si preferisce scaricare il codice sorgente da sé, la ricetta per la compilazione e l'ottimizzazione si trova qui

GROMACS per coprocessore Intel® Xeon Phi™

GROMACS è un pacchetto versatile per eseguire dinamica molecolare usando le equazioni del moto di Newton.

Simulazioni chimiche GROMACS Seguire questa ricetta per la compilazione e l'esecuzione

GTC-P (Gyrokinetic Toroidal Code - Princeton)

Il codice girocinetico tiroidale (GTC) è un codice PIC (Particle-in-Cell) estremamente parallelo per la simulazione delle turbolenze a sostegno dell'esperimento del plasma di combustione, il passo successivo cruciale per la ricerca di energia da fusione. Questa è una versione di scomposizione del dominio 2D del codice PIC girocinetico globale GTC per lo studio del trasporto del nucleo in microturbolenze.

Università Richiedere il codice qui.

Seguire le istruzioni qui per la compilazione e l'esecuzione

HBM per il coprocessore Intel® Xeon Phi™

 

Previsioni oceanografiche Richiedere tramite e-mail l'accordo di collaborazione (MoU): Per Berg o Jacob Weismann Poulsen Seguire questa ricetta

Benchmark Hogbom Clean

Benchmark che implementa il kernel dell'algoritmo di deconvoluzione Hogbom Clean. Fa parte del pacchetto di benchmark ASKAP, utilizzato per eseguire il benchmark delle piattaforme per l'elaboratore di dati scientifici dell'Australian SKA Pathfinder (ASKAP)

Astronomia, università

GitHub

Vedere questa ricetta per la configurazione e la compilazione

LAMMPS* per il coprocessore Intel® Xeon Phi™

Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS*) è un codice classico di dinamica molecolare.

Dinamica molecolare LAMMPS Seguire questa ricetta per la compilazione e l'esecuzione

LBS3D

Tool di simulazione per flussi multifase basati sul metodo reticolare di Boltzmann (LBM), importante per la fluidodinamica computazionale. Il codice permette la simulazione di flussi bifase quasi incompressibili e utilizza modelli multifase che consentono rapporti di densità elevati.

Produzione mplabs

Seguire le istruzioni di compilazione qui

(anche il white paper di riferimento)

Mantevo MiniFE

Mini applicazione standalone indipendente che racchiude le caratteristiche più significative delle prestazioni (generazione, assembly, soluzione) di un'applicazione del metodo implicito degli elementi finiti in codice C++. Il dominio fisico è un box tridimensionale modellato da elementi esaedrali (talvolta chiamati elementi "brick"). Il box è suddiviso in una griglia strutturata ma trattato come non strutturato. Il dominio è scomposto per l'esecuzione parallela usando la bisezione ricorsiva delle coordinate (RCB).

Ricerca mantevo.org > Download

Seguire le istruzioni del caso di studio MiniFE per capire quali flag/opzioni usare per eseguire MiniFE sull'host, sul coprocessore o su entrambi

Mathworks* MATLAB*

Programma software interattivo per eseguire e visualizzare calcoli matematici

Elaborazione dei segnali e comunicazioni, creazione di contenuti digitali, servizi finanziari, biologia computazionale mathworks.com

Vedere questa ricetta per istruzioni di utilizzo con le funzioni di offload automatico della Intel® Math Kernel Library

miniGhost

miniGhost è una mini applicazione Finite Difference che implementa uno stencil di differenze in un dominio tridimensionale omogeneo.

Algoritmi scientifici Scarica codice

Seguire questa ricetta

Opzione Monte Carlo European con numeri casuali pregenerati

 

Finanziario Scaricare codice sorgente Seguire questa ricetta

Prezzi dell'opzione Monte Carlo European con interfaccia RNG per coprocessore Intel® Xeon Phi™

Campionatura statistica Scarica codice

Seguire questa ricetta per la compilazione e l'esecuzione

MPI-HMMER

Una versione di HMMER, un modello di Markov nascosto per analizzare le sequenze di proteine. In questa versione, le due routine hmmsearch e hmmpfam sono state modificate per usare MPI per il parallelismo.

Ricerca

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

Vedere questa ricetta per la compilazione e l'ottimizzazione

NAMD

NAMD è un codice parallelo di dinamica molecolare progettato per la simulazione ad alte prestazioni di sistemi biomolecolari di grandi dimensioni

Dinamica molecolare NAMD Seguire questa ricetta per la compilazione e l'esecuzione

NOAA NIM con supporto per coprocessore Intel® Xeon Phi™

Clima e meteo NOAA/ESRL Seguire questa ricetta

NWChem offre strumenti scalabili per la chimica computazionale

Chimica computazionale NWChem Seguire questa ricetta

Quantum ESPRESSO* per coprocessore Intel® Xeon Phi™

Quantum ESPRESSO è una suite integrata di codici informatici open source per il calcolo della struttura elettronica e la modellazione dei materiali su scala nanometrica.

Modellazione dei materiali

Quantum ESPRESSO*

Seguire questa ricetta per la compilazione e l'esecuzione

SHOC

Scalable Heterogeneous Computing Benchmark Suite (SHOC GitHub) può essere utilizzato per misurare le prestazioni e la stabilità dei sistemi basati su coprocessore. È stato eseguito il porting del benchmark per supportare Intel® Xeon Phi™ usando i costrutti di programmazione offload implementati nel compilatore Intel® fornito nel pacchetto di Intel® Composer XE 2013.

Ricerca

GitHub

Vedere questa ricetta per la configurazione e la compilazione

WRF

Il modello WRF (Weather Research and Forecasting) è un sistema di previsione meteorologica numerico studiato per soddisfare le esigenze di calcolo delle previsioni nell'ambito della ricerca atmosferica. Il modello WRF è usato da organismi scientifici universitari per la ricerca atmosferica, dai team dei centri operativi che si occupano delle previsioni, nelle scienze applicate e così via. Per maggiori informazioni sul modello WRF, vedere http://www.wrf-model.org/index.php.

Meteo, Ricerca Pagina degli utenti WRF

Vedere questa ricetta per la configurazione e la compilazione

Vedere questa ricetta per eseguire il benchmark conus2.5km in modalità simmetrica

  • Architettura Intel® Many Integrated Core
  • Server
  • Sviluppatori
  • Intel Xeon Phi Coprocessor
  • Ultimi post

    Increase Cluster MPI Application Performance with a "MPI Tune" Up
    Di adminPubblicato il 05/24/20130
    The Intel® MPI Library offers many configuration options for improving application performance on your cluster. The number of options can be daunting to a new user. To assist with this, the Automatic Tuning utility is provided. This allows you to tune runtime parameters to match your system and y...
    A New User Interface for VTune Amplifier Search Directories
    Di robert-reed (Intel)Pubblicato il 05/15/20130
    With the recent updates to Intel’s VTune™ Amplifier XE 2013, the user interface for the symbol search directories has been streamlined.  The new interface should facilitate faster symbol lookups and quicker finalization waits.  You can find the new interface in the project properties dialog. Whe...
    Measuring performance in HPC
    Di Florian R.Pubblicato il 05/14/20130
    This is the first article in a series of articles about High Performance Computing with the Intel Xeon Phi. The Intel Xeon Phi is the first commercial product of Intel to incorporate the Many Integrated Core architecture. In this article I will present the basics of the Xeon Phi architecture, the...
    Intel Xeon Phi Coprocessor April 2013 Developer Webinar Q&A Responses
    Di robert-reed (Intel)Pubblicato il 05/10/20130
    Answers for the questions raised during the April session of our Introduction to High Performance Application Development for Intel® Xeon® & Intel® Xeon Phi™ processors class have been assembled.  There were some duplicates and other questions we couldn't decipher, either because of the wordi...
    Iscriversi a Articoli Intel Developer Zone
    NFS configuration
    Di YH12
    Hi, I am trying to the NFS mounting to work and followed the instruction on the user guide section 7.4.  However, when I got to micctrl --addnfs=172.31.1.254:/micNfs --dir=micNfs I got the following warning [Warning] mic0: Server 172.31.1.254 may not be reachable if the interface is not routed out of the host [Warning] Modified existing NFS entry for MIC card path '/micNfs' [Warning] mic1: Server 172.31.1.254 may not be reachable if the interface is not routed out of the host [Warning] Modified existing NFS entry for MIC card path '/micNfs' [Warning] mic2: Server 172.31.1.254 may not be reachable if the interface is not routed out of the host [Warning] Modified existing NFS entry for MIC card path '/micNfs' and once I log into mic0, and try mount -a and I got the following error mount: RPC: Remote system error - No route to host mount:mounting 172.31.1.254:/micNfs on /micNfs failed: Bad file descriptor I am using CentOS 7.0.    Thanks    
    Issues accessing mic0 with non-root user
    Di Sigurhjörtur S.11
    I am having some issues getting access to mic0 through non-root users. Accessing the card as root works fine. The issue is that I keep getting prompted for password and no matter what password I generate (either an empty passphrase or an actual password) I get prompted for a password each time I try to ssh or scp but it never authenticates me and lets me log in. I can however ssh with root using an empty passphrase without any issues. I've tried doing everything, both manually and through micctrl. The user gets created (the username is sigurhjs for future reference when I post some of the data) and the home folder as well. However .ssh folder doesn't get copied. So I've manually copied the .ssh folder as root to the home area of the user (/home/sigurhjs/) and changed the owner to sigurhjs. If I cat the /etc/passwd, /etc/shadow and /etc/group I have the following data for sigurhjs passwd: sigurhjs:x:10127:10129:,,,:/home/sigurhjs:/bin/bash shadow: sigurhjs:*:14914:::::: group: sig...
    Ask the Community: LGA1150 motherboard for 31S1P
    Di Vyacheslav A.0
    I'm interested in programming for 31S1P and want to ask:                is there a LGA1150 motherboard that (unofficially) supports Xeon Phi? I have MB that does not support MMIO above 4G. So I need to replace a MB at least. I know that official supported hardware list does not contain my configuration. So, it's a question for MIC community primarily. I'm thinking about a MB on Z97 chipset (e.g. "Asus Z97-WS"), but looks like this MB does not support Xeon Phi with Windows OS: https://software.intel.com/en-us/forums/topic/538897 And yeah, unfortunately, I'm using Windows 7 Pro x64 :(   So, I will be grateful to any advice! Thanks!   ps. upgrading CPU+MB is not an option for me due to financial reasons.
    Speed Up with MIC/ in Parallel
    Di Bryar S.2
    My question is not specific to MIC developers, it for all parallel developers in general.  By increasing data sampling (n) in the program, I get better speed up. Also the sequential  is better than parallel version with small (n).  I know this is normal in parallel programming, but would you tell me why ? or give me some reasons to convince me.  
    KERNEL-SPACE: scif_register fails
    Di Mathias R.9
    Hi, I am currently porting my host userspace program into a kernel space module. Most things seem to be the same as in userspace, but I currently have problems with the scif_register function. The API says the following about the return value:   *\return  * Upon successful completion, scif_register() returns the offset at which the  * mapping was placed (po); otherwise: in user mode SCIF_REGISTER_FAILED (that  * is (off_t *)-1) is returned and errno is set to indicate the error; in  * kernel mode the negative of one of the following errors is returned.my code is currently like this struct scifmodule { size_t len; scif_epd_t endpoint; scif_epd_t remote_endpoint; size_t port; uint8_t *ptr; uint8_t *return_ptr; uint8_t *placeholder; }; struct scifmodule a; static int __init scif_start(void) { printk(KERN_INFO "Loading scif module...\n"); printk(KERN_INFO "\n"); a.len = 131072; size_t ret; a.port = 23968; ... a.ptr = kmalloc(a.len,__GFP_NORETRY); if (!a.ptr) { ...
    New MPSS suports SuSE SLES 12
    Di loc-nguyen (Intel)0
    Please note that the new release MPSS 3.4.3 is available at https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss . SuSE SLES 12 is now supported in this new release.
    two dimensional array offload issue
    Di andrei k.3
    i have two dimensional dynamic array that i offload to phi. i dont really pass any data all i want is to allocate mem via transfer and access that mem via nocopy each iteration later on void foo() unsigned int ** twoDimArray = new ... etc ... [n*m] //allocate #pragma offload_transfer target(mic:MIC_DEV) in(twoDimArray :length(n*m) alloc_if(1) free_if(0)) while (condition) { //nocopy offload each iteration of external loop #pragma offload target(mic:MIC_DEV) nocopy(twoDimArray :length(n*m) alloc_if(0) free_if(0)) } //deallocate #pragma offload_transfer target(mic:MIC_DEV) nocopy(twoDimArray :length(n*m) alloc_if(0) free_if(1)) i constantly get a  " offload error: process on the device 0 was terminated by signal 11 (SIGSEGV) "  
    mic0 reset failed
    Di Riazuddin K.3
    Hello! I am trying to make coprocessors work on Ubuntu 14.04 but I got stuck with error: mic0 reset failed. I have tried several methods noted in this form but I was not able to make it work. So, I am seeking help to make my mic work. Please, find my micbug as attachment. Thank you.  
    Iscriversi a Forum
    Nessun contenuto trovato
    Iscriversi a Blog Intel® Developer Zone