Zona para desarrolladores Intel®:
Coprocesador Intel® Xeon Phi™

Productividad mediante innovación de arquitectura combinada con software familiar. Coprocesador Intel® Xeon Phi™:

  • Amplía la asistencia del hardware a niveles superiores de paralelismo con ahorros de energía
  • Utiliza modelos de programación familiares y estándar para conservar las inversiones
  • Comparte la programación en paralelo con procesadores para fines generales

¡Nuevo! Catálogo de aplicaciones

Consulte la lista creciente de código disponible, descargable y en curso que se puede ejecutar o que se puede optimizar de manera activa para ejecutarlo en los coprocesadores Intel® Xeon Phi™.

Ver ahora


Primeros pasos
¿Es el coprocesador Intel® Xeon Phi™ ideal para usted?
Dónde comprar
Arquitectura del coprocesador Intel® Xeon Phi™
Mapas de sitio: Administradores, Desarrolladores, Investigadores
Guías y manuales
Guía rápida inicial para desarrolladores del coprocesador Intel® Xeon Phi™
Manual de referencia de la arquitectura del conjunto de instrucciones del coprocesador Intel® Xeon Phi™
Guía de Administración de sistemas

La programación en paralelo es parte de la evolución al futuro. Los procesadores y coprocesadores Intel ofrecen un método convergente para que pueda utilizar modelos y herramientas de programación comunes.

  • Modelos de programación en paralelo dirigidos por estándares que se ajustan a las necesidades del presente y del futuro
  • Utilice flujos de trabajo y bases de código de desarrollo establecidos para ajustarse a las necesidades futuras
  • Técnicas que benefician tanto a procesadores como a coprocesadores que, a su vez, conservan las inversiones pasadas y futuras
Programación para productos Multi-core y Manycore
Recetas de código para el coprocesador Intel® Xeon Phi™

Programación

Guía para desarrolladores del software del coprocesador Intel® Xeon Phi™

Creación de aplicaciones nativas

Programación y compilación

Apuntes de repaso: Instrucciones y funciones

Descarga automática de la Biblioteca central de matemáticas

Uso de Intel® MPI

Uso de extensiones de OpenMP*

Diseño y programación de OpenCL*

Interfaz binaria de la aplicación System V

Diferencias en Aritmética de punto flotante

Reproducibilidad entre ejecuciones

Análisis y configuración de energía

Migración de proyectos Fortran

Depuración

Depuración en Linux*

Depuración en Windows*

Optimización

Optimización, Parte 1: Principios básicos

Optimización, Parte 2: Eventos de hardware

Unidades de supervisión de rendimiento

Optimización de bucle

Métodos más conocidos para rendimiento

Videos de taller para desarrolladores de software

Una guía técnica para el entorno de desarrollo de software para el coprocesador Intel® Xeon Phi™

Nombre/Descripción Lenguaje de programación Nivel de experiencia del usuario

BeginningSlides_ExtractedCode.zip
Modelos de código extraídos de diapositivas para el Taller para principiantes del coprocesador Intel® Xeon Phi™ incluyendo las traducciones de Fortran.

C++, Fortran Principiante

BeginningLabs_FortranVersion.zip
Ejercicios de laboratorios para el Taller para principiantes de procesadores Intel® Xeon Phi™ – versión Fortran.

Fortran Principiante

BeginningLabs_CVersion.zip
Ejercicios de laboratorios para el Taller para principiantes de procesadores Intel® Xeon Phi™ – versión C++.

C/C++ Principiante

Laboratorios de talleres avanzados
Los laboratorios cubren conceptos más avanzados, incluso Intel® MKL, Intel® MPI, depuración, optimización de memoria, ajuste y vectorización.

C/C++, Fortran Avanzado

Importancia de vectorización (ejemplo de Fortran)
Para obtener un buen rendimiento de la Intel® Many Integrated Core architecture (Intel® MIC architecture) y sistemas que incluyen los coprocesadores Intel® Xeon Phi™, las aplicaciones necesitan aprovechar los registros SIMD de 16 de ancho así como los varios núcleos.

Fortran Avanzado

Múltiples aspectos del paralelismo
Este laboratorio contiene una cantidad de ejemplos (Sumas de Riemann, SGEMM, Fibonacci, Qsort, factorización de Cholesky, Algorithm, Conjunto de Mandelbrot) que detallan los pasos de un problema de serie en una solución de paralelismo en ejecución en el coprocesador Intel® Xeon Phi™.

C/C++ Avanzado

Ejemplos del SDK Intel® para aplicaciones OpenCL* XE

OpenCL Principiante, Intermedio

iXPTC 2013, Conferencia de servicios financieros

C/C++ Principiante, Intermedio

Ejercicios de laboratorios SHOC MD
Mediante una simple implementación de una computación de comparación nbody utilizando el potencial Lennard-Jones de dinámicas moleculares como un ejemplo de aplicaciones de migración y optimización.

C/C++ Principiante, Intermedio

High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches
por James Reinders y James Jeffers Fecha de publicación: 17 de noviembre de 2014 | ISBN-10: 0128021187 | ISBN-13: 978-0128021187


Structured Parallel Programming: Patterns for Efficient Computation
por Michael McCool, James Reinders y Arch Robison Fecha de publicación: 9 de julio de 2012 | ISBN-10: 0124159931 | ISBN-13: 978-0124159938


Intel® Xeon Phi™ Coprocessor High Performance Programming
por Jim Jeffers y James Reinders – ¡ya está disponible!


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


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


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

Esta página contiene un compendio cada vez mayor de código comúnmente accesible o descargable que se puede ejecutar en los coprocesadores Intel® Xeon Phi™.

Si ya ha completado la promoción ascendente de un código comunitario, publique una conversación en el foro Intel® Many Integrated Core Architecture para informarnos al respecto, a fin de que actualicemos la lista.

Cambios recientes:

04/02/2015 -- Se agregó receta para Embree.
22/01/2015 -- Se agregó receta para miniGhost.
20/01/2015 -- Se agregó receta para el algoritmo NCBI BLAST
14/10/2014 -- Se agregaron recetas para la fórmula Black-Scholes-Merton, HBM, opción europea Monte Carlo con números aleatorios generados con anterioridad.
18/09/2014 -- Se agregó receta para NWChem
05/09/2014 -- Se actualizó receta para LAMMPS* para el coprocesador Intel® Xeon Phi™
23/08/2014 -- Se agregó receta para BWA*
21/08/2014 -- Se agregó receta para Amber 14
03/07/2014 -- Se agregó receta para NOAA NIM compatible con el coprocesador Intel® Xeon Phi™
30/06/2014 -- Se agregó receta para precios de la opción europea Monte Carlo con Interfaz RNG para el coprocesador Intel® Xeon Phi™
23/06/2014 -- Se agregó receta para NAMD
04/06/2014 -- Se agregó receta para Quantum ESPRESSO* para el coprocesador Intel® Xeon Phi™
22/05/2014 -- Se agregó receta para Mathworks* MATLAB
22/05/2014 -- Se agregó receta para GROMACS para el coprocesador Intel® Xeon Phi™
15/05/2014 -- Se agregó receta para el Modelo de precios de opciones binomiales
14/04/2014 -- Se agregó receta para Hogbom Clean Benchmark
20/03/2014 -- Se agregó receta para ejecutar WRF con la referencia conus2.5km en modo simétrico

Código (en orden alfabético) Segmento Dónde puede descargarlo Instalación de la receta (si es necesario)

Amber

Amber es el nombre colectivo de un conjunto de programas que permiten a los usuarios realizar simulaciones dinámicas moleculares

Biomoléculas Amber 14 Siga esta receta para crear y ejecutar

Fórmula Black-Scholes-Merton en el coprocesador Intel® Xeon Phi™

 

Financiera Descargar el código fuente Siga esta receta

BLAST

El algoritmo NCBI BLAST, y el conjunto asociado de aplicaciones, se utiliza extensamente en el campo de la Bioinformática.

Bioinformática Descargar el código fuente Siga esta receta

BOPM (Modelo de precios de opciones binomiales)

BOPM es un método numérico generalizado usado para evaluar las opciones en la industria de servicios financieros cuantitativos.

Servicios financieros BOPM Siga esta receta para crear y ejecutar

BWA* ALN 0.5.10 para coprocesadores Intel® Xeon Phi™

BWA* es un paquete de software para asignar secuencias de baja divergencia a un genoma grande de referencia.

Bioinformática BWA* Siga esta receta para crear y ejecutar

Embree

Embree es una colección de kernels de trazado de rayos de alto rendimiento, que se han optimizado para la presentación de fotografías realistas con los procesadores Intel® más recientes

Trazado de rayos Descarga de código fuente Siga esta receta

GEMM, STREAM, Linpack

GEMM y Linpack ejecutan operaciones básicas de matriz densa dirigidas al desempeño de coma flotante en el coprocesador. STREAM es una prueba del ancho de banda de la memoria dirigida al desempeño de la memoria GDDR.

Académico Estas pruebas se pueden obtener al descargar Intel® MPSS y se incluyen en paquetes de desempeño de instalación opcional que colocan las pruebas y la documentación correspondiente en /opt/intel/mic/perf si se utiliza la versión 2.x de MPSS o en /usr/share/micperf si se utiliza la versión MPSS 3.1*.

Si es usuario de Intel® MPSS 2.1: Siga las instrucciones del capítulo 5 del archivo Léame de Intel® MPSS durante la instalación y configuración.

Si es usuario de Intel® MPSS 3.1: Siga las instrucciones del capítulo 4 de MPSS_Users_Guide durante la instalación y configuración

En el caso de STREAM, si prefiere realizar la descarga usted mismo, la receta de compilación y optimización se encuentra aquí

GROMACS para el coprocesador Intel® Xeon Phi™

GROMACS es un paquete versátil para realizar dinámica molecular, usando ecuaciones newtonianas de movimiento.

Simulaciones químicas GROMACS Siga esta receta para crear y ejecutar

GTC-P (Código toroidal girocinético - Princeton)

El código toroidal girocinético (GTC) es un código masivamente paralelo, de partícula en celda para la simulación de turbulencias para asistir al experimento del plasma en combustión, el próximo paso crucial en la búsqueda de energía de fusión. Esta es una versión de descomposición de dominios 2D del código PIC girocinético global GTC para estudiar el transporte nodal microturbulento.

Enseñanza Enviar una solicitud de código aquí.

Siga las instrucciones aquí para crear y ejecutar

HBM para el coprocesador Intel® Xeon Phi™

 

Predicciones oceánicas Solicitudes por correo electrónico de MoU: Per Berg o Jacob Weismann Poulsen Siga esta receta

Referencia Hogbom Clean

Referencia que implementa el núcleo del algoritmo de deconvolución Hogbom Clean . Parte del paquete de referencia ASKAP, usado para referenciar plataformas para el Procesador de datos científicos del Australian SKA Pathfinder (ASKAP)

Astronomía, Académico

GitHub

Vea esta receta para la configuración y la compilación

LAMMPS* para el coprocesador Intel® Xeon Phi™

El simulador masivamente paralelo molecular/atómico de gran escala (LAMMPS*) es un código clásico de dinámica molecular.

Dinámica molecular LAMMPS Siga esta receta para crear y ejecutar

LBS3D

Herramientas de simulación para los flujos multifásicos que se basan en la energía libre del Método Lattice Boltzmann, de gran importancia en la dinámica de fluidos computacionales. El código permite la simulación de flujos de dos fases cuasi incomprensibles y utiliza modelos multifase que permiten proporciones de densidad mayores.

Fabricación mplabs

Siga las instrucciones de compilación que se encuentran aquí

(También consulte la documentación técnica)

Mantevo MiniFE

Miniaplicación autocontenida e independiente que encapsula las características de desempeño más significativas (generación, ensamble, solución) de una aplicación de método de elemento finito implícito en el código C++. El dominio físico es una caja tridimensional modelada por elementos hexaédricos (en ocasiones llamados elementos de “ladrillo”). La caja se discretiza como cuadrícula estructurada, pero se trata como si fuera no estructurada. El dominio se descompone para la ejecución en paralelo mediante la bisección coordinada recursiva.

Académico mantevo.org > Descargar

Siga las instrucciones que se encuentran en el caso práctico de MiniFE para comprender los indicadores y las opciones que puede utilizar para ejecutar MiniFE en un host, en un coprocesador o en ambos.

Mathworks* MATLAB*

Programa de software interactivo que realiza cálculos y visualización matemáticos

Procesamiento de señales y comunicación, Creación de contenido digital, Servicios financieros, Biología computacional mathworks.com

Vea Esta receta sobre cómo usar mediante las características de la Descarga automática de la Biblioteca de núcleos de matemáticas Intel®

miniGhost

miniGhost es una aplicación de diferencias finitas que implementa un stencil de diferencias a lo largo de un dominio homogéneo tridimensional.

Algoritmos científicos Descargar código

Siga esta receta

Opción europea Monte Carlo con números aleatorios generados con anterioridad

 

Financiera Descargar el código fuente Siga esta receta

Precios de la opción europea Monte Carlo con Interfaz RNG para el coprocesador Intel® Xeon Phi™

Muestreo estadístico Descargar código

Siga esta receta para crear y ejecutar

MPI-HMMER

Una versión de HMMER, que es un modelo Markov oculto para el análisis de secuencias de proteínas. En esta versión, se han modificado dos rutinas, hmmsearch y hmmpfam, con el fin de utilizar MPI en el paralelismo.

Académico

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

Vea esta receta para la compilación y la optimización

NAMD

NAMD es un código de dinámica molecular paralelo diseñado para la simulación de alto desempeño de grandes sistemas biomoleculares

Dinámica molecular NAMD Siga esta receta para crear y ejecutar

NOAA NIM compatible con el coprocesador Intel® Xeon Phi™

Clima y meteorología NOAA/ESRL Siga esta receta

NWChem ofrece herramientas de química computacional escalables

Química computacional NWChem Siga esta receta

Quantum ESPRESSO* para el coprocesador Intel® Xeon Phi™

Quantum ESPRESSO es un conjunto integrado de códigos computacionales de origen abierto para cálculos de estructura electrónica y modelaje de materiales a la nanoescala.

Modelaje de materiales

Quantum ESPRESSO*

Siga esta receta para crear y ejecutar

SHOC

Scalable Heterogeneous Computing Benchmark Suite (SHOC GitHub) se puede utilizar para medir el desempeño y la estabilidad de los sistemas basados en el coprocesador. La prueba se ha migrado a fin de que admita Intel® Xeon Phi™ mediante construcciones de programación de descarga implementadas en el Compilador Intel® que está disponible como parte del paquete Intel® Composer XE 2013.

Académico

GitHub

Vea esta receta para la configuración y la compilación

WRF

El modelo Weather Research and Forecasting (WRF) es un sistema numérico de predicción del tiempo que se ha diseñado para satisfacer necesidades de investigación atmosférica y de pronóstico de operaciones. WRF es utilizado por científicos de la atmósfera, grupos de pronóstico en centros de operaciones, científicos de aplicaciones, etc. Consulte http://www.wrf-model.org/index.php para obtener más detalles en cuanto a WRF.

Meteorología, Académico Página de usuarios de WRF

Vea esta receta para la configuración y la compilación

Vea esta receta para ejecutar la referencia conus2.5km en modo simétrico

  • Arquitectura Intel® para muchos núcleos integrados
  • Servidor
  • Desarrolladores
  • Intel Xeon Phi Coprocessor
  • Últimos Mensajes

    Understanding the corner cases of Vectorization Intensity
    Por Sumedh Naik (Intel)Publicado en 09/23/20140
    Correct performance analysis of an application is absolutely vital to optimize the performance on any architecture. A previous article describes several metrics recommended for a basic analysis of your application on the Intel® Xeon Phi™ coprocessor. Since the Intel Xeon Phi coprocessor depends h...
    NWChem* for the Intel® Xeon Phi™ Coprocessor
    Por Michael Klemm (Intel)Publicado en 09/17/20142
    Purpose This code recipe describes how to get, build, and use the NWChem* code that includes support for the Intel® Xeon Phi™ Coprocessor with Intel® Many-Integrated Core (MIC) architecture. Introduction NWChem provides scalable computational chemistry tools. NWChem codes treat large scientifi...
    General Matrix Multiply Sample
    Por Vadim Kartoshkin (Intel)Publicado en 09/11/20140
    General Matrix Multiply (GEMM) sample demonstrates how to efficiently utilize an OpenCL™ device to perform general matrix multiply operation on two dense square matrices. The primary target devices that are suitable for this sample are the devices with cache memory: Intel® Xeon Phi™ and Intel® Ar...
    HDR Rendering with God Rays Using OpenCL™ Technology
    Por Vadim Kartoshkin (Intel)Publicado en 09/11/20140
    This sample demonstrates a CPU-optimized implementation of the God Rays effect, showing how to: Implement calculation kernels using the OpenCL™ technology C99 Parallelize the kernels by running several work-groups in parallel Organize data exchange between the host and the OpenCL device
    Suscribirse a Artículos de la Zona para desarrolladores Intel
    problem executing in symmteric mode
    Por 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
    Por 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
    Por 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?
    Por 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
    Por 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
    Por 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
    Por 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
    Por 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
    Suscribirse a Foros
    No se encontró contenido
    Suscribirse a Blogs de la Zona para desarrolladores Intel®