Por qué las GPUs son más rápidos que las CPUs


¿Por qué las GPUs pueden batir ampliamente a las CPUs en ciertos cálculos? La respuesta supongo qu emuchos la intuyan: paralelismo, pero hasta hoy no la había leído tan detallada. Las GPU pueden ejecutar más instrucciones ALU de 32 bits en sucesión que las CPU. Un procesador actual puede ejecutar 4 (u 8, con las nuevas instrucciones AVX de Intel) instrucciones ALU de 32 bits por ciclo de reloj en cada núcleo, lo que para un i7 da 8 instrucciones x 4 núcleos x 3.4 GHz = 108.8 Gigainstrucciones. En cambio, una HD 6850 con 960 SP corriendo cada uno  una única instrucción por ciclo a solo 775 MHz nos da 960 instrucciones x 0.775 GHz = 744 Gigainstrucciones.
Otro hecho curioso, ¿por qué en procesamiento buto AMD supera a Nvidia? Resulta que la arquitectura AMD se basa en usar más procesadores de shaders sencillos corriendo a velocidades bajas, en cambio Nvidia usa menos, más complejos, a más velocidad de reloj. Este hecho se compensa en los juegos con otras funcionalidades, en cambio, la ventaja de AMD es amplia cuando se trata de realizar cálculos.

Comentarios