Los “blends” de CPU y GPU
Una de las sesiones del simposio Hot Chips de este año se titula “Sobreviviendo al fin del escalamiento de los microprocesadores tradicionales en computación de alta performance (HPC)”. Quizás los usuarios comunes todavía estemos lejos de preocuparnos por el fin del camino para el crecimiento en el número de núcleos de los chips x86, pero si esa preocupación ya existe en el rubro HPC, tarde o temprano llegará también a las PCs.

Hace cosa de quince años, todas las supercomputadoras estaban basadas en diversos chips propietarios. Hoy en día, la mayoría de las grandes computadoras de alta performance instaladas en centros de investigación utilizan chips x86. En el futuro, muchos de esos chips serán reemplazados por chips gráficos (GPUs), los cuales tienen una presencia cada vez mayor en el mercado de las supercomputadoras.
Pero los chips x86 no serán completamente desplazados de las grandes máquinas. Patricia Harrell, la directora de Stream Computing en AMD, asegura que siempre habrá aplicaciones que funcionen mejor en una arquitectura que en la otra. “Siempre habrá espacio para GPUs discretas y siempre habrá espacio para tecnología x86 que pueda correr aplicaciones tradicionales”, dijo en una entrevista, y agregó: “La pregunta es cuál es la combinación correcta de GPUs y CPUs para cada aplicación”.
Tanto AMD como Intel están apuntando los cañones hacia los chips híbridos, que en una misma pieza de silicio incluyan núcleos procesadores de tipo CPU y GPU, para poder aplicar cada uno al tipo de procesamiento donde pueda mostrar mejor sus virtudes. Mientras tanto, Nvidia busca imponer el procesamiento de propósito general en sus GPUs, alegando que su rendimiento es muy superior al de las CPUs x86. Pero por más que esta empresa insista con que la Ley de Moore es obsoleta y la arquitectura x86 no tiene futuro, aún estamos a años luz de que un sistema operativo multipropósito (o, para el caso, cualquier otro software de cierta complejidad) pueda correr en una GPU.

Es interesante observar lo que ocurre en el ámbito de las supercomputadoras, puesto que, con el tiempo, las tendencias que se observan en dicho ámbito terminan trasladándose a las computadoras personales. Considerando este hecho, podemos suponer que los procesadores seguirán escalando en el número de núcleos x86, pero incrementarán a la par su capacidad de procesamiento de streams por medio de GPUs, de forma tal que haya suficientes recursos de uno y de otro tipo, para que sea el software quien decida de dónde echar mano para lograr el máximo rendimiento en cada operación en particular.