Xeon Phi
# Xeon Phi

Xeon Phi foi uma linha de processadores many core x86, projetados e fabricados pela Intel. Ela foi destinada para o uso de supercomputadores, estações de trabalho e servidores. A arquitetura integrada permite o uso de linguagens de programação padrão e o uso de APIs, como a OpenMP.
Cancelada em 2009, com codinome "Larrabee", era uma GPU antiga da Intel, que serviu como base para a criação, sendo assim compartilhando as mesmas áreas de aplicação com a GPUs. Tendo sua descontinuação devido a principalmente falta de demanda.
Anunciado em junho de 2013, com codinome Knights Landing, era uma placa complementar de segunda geração baseada em PCIs. Essa segunda geração de chips poderiam ser usados como CPU independente por causa de cartão adicional.
O supercomputador Tianhe-2 do centro nacional de supercomputadores em Guangzhou (NSCC-GZ) foi anunciado como o computador mais rápido do mundo em junho de 2013 (em junho de 2018, ele é o No. 4). Com o uso de coprocessadores Intel Xeon Phi e processadores Ivy Bridge-EP Xeon conseguiu atingir 33.86 petaflop/s.
A linha de produtos Xeon Phi competiu diretamente com as linhas de aprendizagem profunda e cartões GPGPU Tesla da Nvidia e a Radeon Instinct da AMD.

## História
### Contexto histórico

A microarquitetura Larrabee, que está em desenvolvimento desde 2006, introduziu unidades SIMD muito amplas (512 bits) para uma arquitetura de processador baseada na arquitetura x86, foi estendida a um sistema multiprocessador coerente com cache conectado por um barramento em anel à memória; cada núcleo era capaz de multithreading de quatro vias. Devido ao desenho ser destinado à GPU e também à computação de propósito geral, os chips Larrabee também incluíram hardware especializado para a amostragem de textura. O projeto para produzir um produto GPU de varejo diretamente do projeto de pesquisa Larrabee foi encerrado em maio de 2010.
O 'Single-chip Cloud Computer' foi outro projeto de pesquisa contemporâneo da Intel implementando arquitetura x86 em um processador de muitos multinúcleos (protótipo que foi apresentado em 2009), uma arquitetura que imita um computador de centro de dados de computação na nuvem em um único chip, com múltiplos núcleos independentes: o desenho do protótipo incluiu 48 núcleos por chip com suporte de hardware para frequência seletiva e controle de tensão de núcleos, com o propósito de melhorar a eficiência energética, e também acrescentou uma rede de malha para mensagens entre chips.
O Teraflops Research Chip foi um chip experimental de 80 núcleos com duas unidades de vírgula flutuante por núcleo, implementando uma arquitetura VLIW de 96 bits em vez da arquitetura x86. O projeto investigou métodos de comunicação entre núcleos, gerenciamento de energia por chip e alcançou 1,01 teraflop/s a 3,16 GHz, consumindo 62 W de energia.

### Knights Ferry

A placa MIC da Intel, chamada de Knights Ferry, incorporou um processador Aubrey Isle, lançado em 31 de maio de 2010. Esse produto foi anunciado como um derivado do projeto Larrabee e de outras pesquisas da Intel, incluindo o Single-chip Cloud Computer.
O desenvolvimento do Knights Ferry foi oferecido com uma placa PCIe de 32 núcleos em ordem de até 1,2 GHz com quatro threads por núcleo, uma memória GDDR5 de 2 GB de cache L2 coerente de 8 MB, e um requisito de energia de 300 W, construído em um processador de 45nm. No núcleo da Ilha de Aubrey, um barramento em anel de 1.024 bits (bidirecional de 512 bits) conecta os processadores à memória principal. O desempenho dessa placa única excedeu 750 gigaflop/s.

#### Arquitetura e Programação

Os núcleos do Knights Corner são baseados numa versão modificada da arquitetura do P54C, implementada no Pentium original. A base da arquitetura Intel MIC é alavancar o legado x86, criando uma arquitetura de multiprocessador compatível com x86 que pode utilizar ferramentas de softwares de paralelização existentes. Algumas das ferramentas de programação incluem OpenMP, OpenCL, Cilk/Cilk Plus e versões especializadas do Fortran da Intel, C++ e bibliotecas de matemática.
Os elementos da arquitetura que foram herdados do projeto Larrabee incluem x86 ISA, SMT de quatro vias por núcleo, unidades SIMD de 512 bits, cache de instrução L1 de 32 KB, cache de dados L1 de 32 KB, cache L2 coerente (512 KB por núcleo) e barramento em anel ultra largo que conecta processadores a memória.
As instruções SIMD de 512 bits do Knights Corner compartilham muitas funções intrínsecas com a extensão AVX-512. A documentação do conjunto de instruções está disponível na Intel pelo nome de extensão KNC.

## Programação

Um estudo empírico sobre desempenho e programação foi realizado por pesquisadores, no qual os autores alegam que para atingir alta performance com o Xeon Phi ainda precisa da ajuda de programadores e que apenas confiar em compiladores com modelos de programação tradicionais ainda está longe da realidade. No entanto, pesquisas em vários domínios, como ciências da vida e aprendizagem profunda, demonstraram que ao explorar ambos os paralelismos, thread e SIMD, do Xeon Phi, é possível atingir acelerações significativas.