# Intel MIC

Intel MIC, del inglés Intel Many Integrated Core Architecture, es un diseño multiprocesador de Intel creado para la fabricación de aceleradores cuyo objetivo sea el uso de software altamente paralelo, algo convencional en supercomputación para lo que Intel ha proporcionado prototipos a diversos centros de investigación colaboradores, tales como el Forschungszentrum Juelich, LRZ (Leibniz Supercomputing Centre), CERN o KISTI (Korea Institute of Science and Technology Information). Varios fabricantes de hardware también han apoyado a Intel, entre los que se encuentran SGI, Dell, HP, IBM, Colfax y Supermicro.
Esta arquitectura sigue la filosofía de trabajos previos de Intel como Larrabee, proyecto de investigación cancelado en el que la compañía buscaba la forma de crear una GPU utilizando la arquitectura AMD64, una extensión de 64 bits que la compañía AMD realizó a la IA-32. Intel MIC surgió después y ha utilizado muchos de los resultados obtenidos y diseños realizados en Larrabee. Entre los elementos heredados están las unidades vectoriales o SIMD (para procesado vectorial) de 512 bits de ancho (las unidades vectoriales en procesadores IA-32 normales son actualmente de 128 bits para el caso de SSE y de 256 bits para AVX y las futuras AVX2), arquitectura AMD64 y la caché de nivel 2 coherente.
La ventaja fundamental reside precisamente en su arquitectura, basada en los procesadores tradicionales para propósito general de Intel. Esto significa que con un único modelo de programación se obtienen también las ventajas del uso de hardware extremadamente paralelo, a diferencia de otras tecnologías como CUDA. Actualmente tiene compatibilidad con algunas bibliotecas ampliamente utilizadas en el mundo del paralelismo, como son OpenMP u OpenCL (que también admite ejecución en CPUs tradicionales). Hasta la fecha Intel ha presentado 2 prototipos. El segundo se prevé sea lanzado al mercado en el año 2012.
Intel ha declarado que pretende hacer de su MIC un impulso para la supercomputación y es un actor principal en su línea de investigación para conseguir ordenadores con capacidades en la escala del ExaFLOP.

## Fundamentos

Como heredero de Larrabee que es, un núcleo Intel MIC tiene como fundamento el de los Pentium originales, concretamente el P54C previo a los P55C Pentium MMX lo que significa que es superescalar. A esto se le ha añadido las capacidades de HyperThreading, una unidad SIMD de 512 bits y el uso de arquitectura AMD64 también conocida como x86-64 o Intel EMT64. Los núcleos están conectados entre sí por un bus en anillo.
Al estar basado en Pentium es de ejecución en orden, en contraposición a los procesadores x86 que utilizan ejecución fuera de orden desde el Pentium Pro. Es por tanto también un diseño muy similar al del Intel Atom.
A nivel de software será compatible con los compiladores de C, C++ y Fortran de Intel, y requiere para funcionar un driver que actualmente es el mismo que se necesitaba para las GPU Larrabee. El único motivo para el desecho de Larrabee fue su pobre rendimiento en gráficos, algo que no tiene porqué ser coincidente con un buen comportamiento en cálculos de coma flotante ya que aparte de núcleos de ejecución se requiere de más hardware para los gráficos por ordenador.

## Knights Ferry

Fue el primer prototipo de la arquitectura MIC de Intel. Fabricado con litografía de 45nm, está compuesto de 32 núcleos AMD64 con una velocidad de reloj de 1'2 Ghz y además cada núcleo tiene HyperThreading cuádruple, lo que da un total de 128 hilos de ejecución lógicos. Está montado sobre una tarjeta PCI Express 2.0 junto con 2GB de memoria RAM GDDR5 y cuenta con 8MB de memoria caché de nivel 2. Se hizo una demostración en la cual se renderizaba una escena en tiempo real utilizando la técnica de raytracing.

## Knights Corner

Presentado en noviembre de 2011, Knights Corner es la segunda iteración de la arquitectura Intel MIC y la primera en convertirse en un producto comercial, ya se conoce por ejemplo que el superordenador Stampede del Texas Advanced Computing Center utilizará chips Intel MIC.
Está fabricado con litografía de 22nm sobre transistores 3D tri-gate (empleados en Ivy Bridge) y lo forman un total de 50 núcleos obteniendo un total de 1 TFLOPS de precisión doble. Como comparación, el acelerador más potente actualmente es el NVIDIA Tesla M2090 con 665 GFLOPS (0'665TFLOPS) con precisión doble. Cabe recalcar la precisión doble, que es donde Intel MIC destaca.
Este acelerador pasa de utilizar el bus PCI Express para optar por un formato más tradicional, el de socket, como si se tratase de un procesador normal. Sin embargo esto no significa que no sea susceptible de ser montado en tarjetas PCI Express que dispongan del socket correspondiente para montarlo.