Cargas de trabajo de Intel Knights Landing vs NVIDIA GeForce

8

Se están escribiendo muchos artículos sobre cómo el recientemente lanzado Intel Xeon Phi robará la cuota de mercado HPC \ Super Computer de los competidores. Intel Knights está equipado con 72 núcleos y 4 zócalos, lo que lo convierte en un sistema de 288 núcleos. Mientras que un solo Gtx980 tiene 2048 núcleos CUDA. ¿Cómo pueden estos dos competir en términos de poder de cómputo (parece que GTX está muy por delante)? ¿O se dirigen a cargas de trabajo completamente diferentes, en cuyo caso, cuáles son algunos ejemplos?

Gracias.

Chandan
fuente
1
Puedes ver las comparaciones de diferencias aquí . Pero esto es algo dependiente de la tarea en cuestión.
user189035
1
Ese enlace es bastante informativo. Gracias por compartir.
Chandan

Respuestas:

8

Como dijo Brian, los núcleos Xeon Phi no son en absoluto comparables a los de CUDA. El problema con la Phi es que se encuentra entre dos caballos.

Si está haciendo cálculos de coma flotante altamente paralelos, NVIDIA le proporcionará algo así como 3 veces el rendimiento a un cuarto del precio. Para una precisión doble, la brecha es menor, pero NVIDIA sigue siendo un 20% más barata por el mismo rendimiento.

Si su problema es muy difícil de paralelizar, Phi no lo ayudará en absoluto y, en cambio, algo como un Intel Xeon le brindará el mejor rendimiento.

El punto óptimo para el Phi es entonces algo muy paralelo, pero divergente, es decir, cada hilo tiene que hacer algo diferente. Un ejemplo de esto serían las simulaciones de Monte Carlo. Por ejemplo, se usan en simulaciones de tratamientos de radioterapia, donde las GPU solo dan una pequeña (~ 2x) aceleración sobre una CPU estándar.

Intel también está tratando de vender el Xeon Phi por el hecho de que solo necesita reescribir su código mínimamente. Sin embargo, para cualquier cosa que no sea trivial paralelizar, el trabajo se convierte en el mismo que para una GPU.

LKlevin
fuente
Además, para los académicos que pueden obtener el kit de herramientas de OpenACC de forma gratuita , ¡reescribir el código para una tarjeta NVIDIA no es necesariamente tan difícil!
dr.blochwave
No solo no es necesario reescribir en CUDA, sino que Xeon Phi admite modelos de programación que se ejecutan en otras plataformas. Hay muy poca diferencia entre el ajuste para Xeon y Xeon Phi modernos: ambos requieren un enhebrado y una vectorización cuidadosos. Y lo que funciona bien en Xeon debería funcionar bien en las CPU de AMD, ARM e IBM. Por otro lado, los modelos de NVIDIA lo encerrarán en su hardware.
Jeff
Respetuosamente estaría en desacuerdo. Si bien un Xeon de 22 núcleos y un Xeon Phi podrían ser similares, es muy diferente de un AMD de 4 núcleos y aún más para un procesador ARM, que presenta un conjunto de instrucciones completamente diferente. En cuanto a NVIDIA que lo bloquea en su hardware, tanto AMP como OpenCL le permiten ejecutar su código en dispositivos AMD y, de hecho, en CPU.
LKlevin
El conjunto de instrucciones no importa a menos que escriba ensamblado. He sintonizado código para PowerPC, POWER, AMD Opteron, todo tipo de Xeon y tanto KNC como KNL. Las técnicas son en gran medida las mismas excepto por los matices de jerarquía de memoria. Mi OpenMP C / Fortran es completamente portátil hasta errores de compilación.
Jeff
7

Los núcleos CUDA no son en absoluto comparables con los núcleos de procesador separados en los coprocesadores Xeon Phi. Los núcleos del coprocesador Phi son procesadores completos que pueden tener sus propios bucles, ramificaciones, etc., mientras que los núcleos CUDA están ejecutando las mismas operaciones en varios segmentos de sus datos.

Brian Borchers
fuente