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
Primeros pasos
¿Es el coprocesador Intel® Xeon Phi™ ideal para usted?
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

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

Este artículo 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.

¿Desea recibir notificación cuando se publiquen nuevos códigos? Haga clic en el botón 'Suscribir' al final de esta página para recibir notificación cuando se actualice este documento.

Código (en orden alfabético) Descripción Segmento Dónde puede descargarlo Instalación de la receta (si es necesario)
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í

LBS3D Herramientas de simulación para los flujos multifase 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

Aplicación autocontenida e independiente que encapsula las caracterícticas de desempeño más significativas (generación, ensamble, solución) de una aplicación de método de elemento finito 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.

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

http://mpihmmer.org

Vea esta receta para la compilación y la optimización
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.
  • Arquitectura Intel® para muchos núcleos integrados
  • Últimos Mensajes

    WRF Conus2.5km on Intel® Xeon Phi™ Coprocessors and Intel® Xeon® processors in Symmetric Mode
    By Indraneil Gokhale (Intel)Posted 03/20/20140
    Overview This document demonstrates the best methods to obtain, build and run the WRF model on multiple nodes in symmetric mode on Intel® Xeon Phi™ Coprocessors and Intel® Xeon processors. This document also describes the WRF software configuration and affinity settings to extract the best perfo...
    Setting up LDAP Support for Intel® Xeon Phi™ Coprocessors
    By Alexander Gutkin (Intel)Posted 03/14/20140
    Alexander Gutkin, Sushmith Hiremath US Revision: 1.0 Contents 1. About this Document 1.1 Intended Audience 1.2 Conventions and Symbols 1.3 About the Authors 2. Configuration Overview 2.1 Step 1: Enabling LDAP on a Host 2.2 Step 2: Bridging Intel® Xeon Phi™ Coprocessors 2.3 Step 3: Enabling LDAP ...
    Accelerating ANSYS* Mechanical Structural Analysis with Intel® Xeon Phi™ Coprocessors
    By pjbesl (Intel)Posted 03/13/20140
    Abstract In 2013, using an updated Intel® Math Kernel Library (Intel® MKL), ANSYS added Intel® Xeon Phi™ coprocessor support with automatic offload (AO) to their ANSYS Mechanical software. The result was a 1.72X performance improvement1,2 over two CPU cores alone. For ANSYS developers, the chang...
    Running Embree on Intel(R) Xeon Phi(tm) Coprocessor
    By BELINDA L. (Intel)Posted 03/07/20140
    These are the steps to reproduce a visual demonstration of the Crown model.     These steps assume the following: You have an Intel® Xeon® processor-based system with OpenGL hardware graphics support and  an Intel® Xeon Phi™ Coprocessor. You are running a supported operating system (see the li...

    Páginas

    Suscribirse a
    Rebuilding MPSS-3.2 (Yocto) release from source
    By René O.3
    Dear community, I think I have managed to go some steps forward to rebuild the Intel Xeon Phi MPSS-3.2 release (with Yocto, poky, bitbake ...) to add some required features in our installation. Now I'm stuck at the following with missing source code to rebuild the minimal mpss image: $ bitbake mpss-image-minimal WARNING: Host distribution "CentOS release 6.5 (Final)" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution. Loading cache: 100% |########################################################################################################################################################################################################| ETA: 00:00:00 Loaded 1229 entries from dependency cache. OE Build Configuration: BB_VERSION = "1.15.1" TARGET_ARCH = "k1om" TARGET_OS = "linux" MACHINE = "knightscorner" DISTRO = "mpss" DISTRO_VERSION = "3.2" TUNE_FEATURES = "m64" TARGET_...
    Intel Phi on Centos6.5 with RHEL InfiniBand Stack
    By Rafal O.6
    Hi, I would like to ask whether it is possible to install Intel MPSS with standard (distributed with OS) RHEL Infiniband stack. In manual (http://registrationcenter.intel.com/irc_nas/4042/MPSS_Users_Guide.pdf) in section 2.3 there are steps to install MPSS with OFED, but we have diskless cluster (8 x blade (Mellanox ConnectX-3) with 3 x Intel Phi in each node + many others blades without Intel Phi) with standard RHEL IB (groupinstall infiniband). Is there a chance to make it work with this IB stack?  
    Xeon Phi Segmentation Fault Simple Offload
    By Dave O.5
    I have this simple matrix multiply for offload on Phi, but I get  offload error (SIGSEGV) when I run the program below: #include <stdlib.h> #include <math.h> void main() {     double *a, *b, *c;      int i,j,k, ok, n=100;     // allocated memory on the heap aligned to 64 byte boundary      ok = posix_memalign((void**)&a, 64, n*n*sizeof(double));      ok |= posix_memalign((void**)&b, 64, n*n*sizeof(double));      ok |= posix_memalign((void**)&c, 64, n*n*sizeof(double));     // initialize matrices      for(i=0; i<n; i++)     {         a[i] = (int) rand();         b[i] = (int) rand();         c[i] = 0.0;     }          //offload code      #pragma offload target(mic) in(a,b:length(n*n)) inout(c:length(n*n))           //parallelize via OpenMP on MIC      #pragma omp parallel for      for( i = 0; i < n; i++ )          for( k = 0; k < n; k++ )              #pragma vector aligned              #pragma ivdep              for( j = 0; j...
    Offload error: process on the device 0 was terminated by signal 11 (SIGSEGV)
    By Dave O.1
    I have the error message: offload error: process on the device 0 was terminated by signal 11 (SIGSEGV) Compiler flags:       icc $(SOURCES) -lOpenCL -fopenmp -O3 Offload code: void Convolution_Serial_Offload_ExplicitMemCopy(float * pInput, float * pFilter, float * pOutput,           const int nInWidth, const int nWidth, const int nHeight,           const int nFilterWidth) { #pragma offload target(mic) in(pInput:length(nInWidth*nInWidth)) in(pFilter:length(nFilterWidth*nFilterWidth)) inout(pOutput:length(nWidth*nHeight)) //explict copying of data from host to MIC at start     for (int yOut = 0; yOut < nHeight; yOut++)     {         const int yInTopLeft = yOut;         for (int xOut = 0; xOut < nWidth; xOut++)         {             const int xInTopLeft = xOut;             float sum = 0;             for (int r = 0; r < nFilterWidth; r++)             {                 const int idxFtmp = r * nFilterWidth;                 const int yIn = yInTopLeft + r;             ...
    Can't build shared libraries via libtool
    By Allin C.7
    I'm trying to port a project as a native Xeon Phi application. The project depends on some third-party libraries (GLib, libxml2, libgmp), and I understand that I have to cross-compile these libraries for x86_64-k1om-linux. I'm using the article "Autotools and Intel® Xeon Phi Coprocessor" as a guide, but here's the problem I've hit. I need shared libs, but I find that libtool doesn't think that icc in -mmic cross-mode can create them. I'm exporting CC=icc and LD=icc, and placing -mmic in CFLAGS and LDFLAGS as recommended, as well as passing --host=x86_64-k1om-linux to ./configure, but I'm seeing checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-k1om-linux-gnu checking for ld used by icc... icc checking if the linker (icc) is GNU ld... no ... checking for icc option to produce PIC... -fPIC -DPIC checking if icc PIC flag -fPIC -DPIC works... yes ... checking whether the icc linker (icc -m elf_x86_64) supports shared libraries... no I've tried ha...
    Segmentation Fault when using mpirun -f option
    By Dan M.3
    Whenever I use the mpirun -f option to run MPI programs on the device, I get a segmentation fault. [user@node ~]$ echo mic0 > mic0.hosts [user@node ~]$ mpirun -perhost 1 -n 2 -f mic0.hosts ./hello Segmentation faultHowever, I am able to run it fine with the -host option or even with the -f option as long as there are no mic devices in the file. [user@node ~]$ echo different_node > mic0.hosts [user@node ~]$ mpirun -n 2 -f mic0.hosts ./hello CPU: Hello from different_node 1 of 2 CPU: Hello from different_node 0 of 2 [user@node ~]$ mpirun -perhost 1 -n 2 -host mic0 ./hello MIC: Hello from node-mic0 1 of 2 MIC: Hello from node-mic0 0 of 2I haven't been very successful in debugging this problem. Does anyone have any suggestions? Thanks, Dan
    TBB's Dynamic Memory Interface Replacement in offloaded code
    By John F.0
    I would like to try replacing the memory allocator with TBB's scalable memory allocator as detailed here: http://www.threadingbuildingblocks.org/docs/help/tbb_userguide/Automical... I would like to do this for allocations in offload regions.  This is on windows.  What I've tried: 1) Adding  tbbmalloc_proxy.lib /INCLUDE:"__TBB_malloc_proxy" to the link line.  This clearly only affects the host allocations 2) Adding -ltbbmalloc_proxy -ltbbmallocto the offload linker options. I also had to copy the .so's to the MIC and put them in /usr/lib64. Memory allocation still seems to be slow, although I'm not sure how to definitively tell if I'm actually using the TBB allocator.  Is there anything else that I need to do?
    NFS set up with host Windows 7 Enterprise and MIC Linux
    By Dean B.2
    I want to share one directory between the host and one coprocessor.Since the support on the host side appears to be only for client, the coprocessor needs to be the server.There is plenty of documentation available on NFS and Linux but the Linux on the coprocessor does not have all the features described.Help!Thanks in advance

    Páginas

    Suscribirse a Foros
    No se encontró contenido
    Suscribirse a Blogs de la Zona para desarrolladores Intel®