Cargas de trabalho do Intel Knights Landing vs NVIDIA GeForce

8

Há muitos artigos sendo escritos sobre como o recém lançado Intel Xeon Phi roubará a participação de mercado do HPC \ Super Computer dos concorrentes. O Intel Knights está equipado com 72 núcleos e 4 soquetes, o que o torna um sistema com 288 núcleos. Enquanto um único Gtx980 possui 2048 núcleos CUDA. Como esses dois podem competir em termos de poder de computação (parece que o GTX está muito à frente)? Ou eles estão visando cargas de trabalho completamente diferentes; nesse caso, quais são alguns exemplos?

Obrigado.

Chandan
fonte
1
Você pode ver as comparações de diferenças aqui . Mas isso depende um pouco da tarefa em questão.
user189035
1
Esse link é bastante informativo. Obrigado por compartilhar.
Chandan

Respostas:

8

Como Brian disse, os núcleos Xeon Phi não são nada comparáveis ​​aos núcleos CUDA. O problema com o Phi é que ele está entre dois cavalos.

Se você estiver fazendo cálculos de ponto flutuante altamente paralelos, a NVIDIA fornecerá algo como 3 vezes o desempenho a 1/4 do preço. Para precisão dupla, a diferença é menor, mas a NVIDIA continua sendo 20% mais barata para o mesmo desempenho.

Se o seu problema for muito difícil de paralelizar, o Phi não ajudará em nada e, em vez disso, algo como um Intel Xeon fornecerá o melhor desempenho.

O ponto ideal para o Phi é algo altamente paralelo, mas divergente, ou seja, cada segmento tem que fazer algo diferente. Um exemplo disso seria simulações de Monte Carlo. Eles são usados, por exemplo, em simulações de tratamentos de radioterapia, em que as GPUs apenas dão uma pequena aceleração (~ 2x) em uma CPU padrão.

A Intel também está tentando vender o Xeon Phi no fato de que você só precisa reescrever seu código minimamente. No entanto, para qualquer coisa que não seja trivial paralelizar, o trabalho se torna o mesmo que para uma GPU.

LKlevin
fonte
Além disso, para acadêmicos que podem obter o kit de ferramentas OpenACC gratuitamente , reescrever o código de uma placa NVIDIA não é necessariamente tão difícil!
amigos estão dizendo sobre dr
Não é apenas que você não precisa reescrever no CUDA, mas também que o Xeon Phi suporta modelos de programação executados em outras plataformas. Há muito pouca diferença entre o ajuste para o Xeon e o Xeon Phi modernos - ambos requerem cuidadosa segmentação e vetorização. E o que funciona bem no Xeon deve funcionar bem nos CPUs da AMD, ARM e IBM. Por outro lado, os modelos da NVIDIA prendem você no hardware.
Jeff
Eu discordo respeitosamente. Embora um Xeon de 22 núcleos e um Xeon Phi possam ser semelhantes, é muito diferente de uma AMD de 4 núcleos e ainda mais para um processador ARM, que possui um conjunto de instruções completamente diferente. Quanto à NVIDIA prendendo você em seu hardware, o AMP e o OpenCL permitem que você execute seu código em dispositivos AMD e, de fato, em CPUs.
precisa saber é o seguinte
O conjunto de instruções não importa, a menos que você escreva uma montagem. Ajustei o código para PowerPC, POWER, AMD Opteron, todos os tipos de Xeon e KNC e KNL. As técnicas são basicamente as mesmas, exceto pelas nuances da hierarquia de memória. Meu OpenMP C / Fortran é totalmente portátil até erros de compilador.
Jeff
7

Os núcleos CUDA não são comparáveis ​​aos núcleos de processador separados nos coprocessadores Xeon Phi. Os núcleos do coprocessador Phi são processadores completos que podem ter seus próprios loops, ramificações etc., enquanto os núcleos CUDA estão executando as mesmas operações em várias fatias dos seus dados.

Brian Borchers
fonte