No conforme con tener la mayor participación de mercado en la industria de las CPU, Intel tiene planes serios de competir con NVIDIA y AMD con una arquitectura y productos que se alineen directamente contra los procesadores gráficos de ambos fabricantes. No suena fácil: los dos competidores que tiene desde antes de lanzar nada manejan productos que están bien posicionados en precio, rendimiento y marca. O sea, para tener una chance tiene que ofrecer algo realmente competitivo por uno de estos dos lados (precio y/o rendimiento)… o volarnos la mente con una idea nueva que sea factible en la práctica.
En la presentación de hoy se huele algo como eso. Aún cuando pretende competir con GPUs la arquitectura de Larrabee tiene algunas diferencias bastante radicales, como por ejemplo el hecho de que aún teniendo varios “mini-cores” (al igual que una GPU NVIDIA o AMD) cada uno de ellos es en si mismo un núcleo hecho y derecho completamente autónomo siendo entonces una especie de “híbrido” entre lo que hoy conocemos como las CPU de varios núcleos y una GPU. La diferencia con los procesadores actuales es que estos núcleos soportan desde su diseño sólo ejecución “en orden” (y no “fuera de orden”) lo que implica que rinden menos al no poder aprovechar todos los tiempos muertos (como hacen los que ejecutan fuera de orden) de manera similar a lo que vemos en los núcleos Atom (Silverthorne, Diamondville) pero teniendo la ventaja de ser más pequeños lo que permite compensar el menor rendimiento individual con mayor rendimiento grupal. Muy grosso modo, los ejemplos teóricos de Larrabee de los que se hablaron eran capaces de montar 10 de esos mininúcleos en el espacio de un procesador de dos núcleos actual. Otra diferencia con las GPU es que Larrabee es completamente programable, no teniendo ninguna unidad hecha para cumplir una función fija; esto se ve realmente interesante, ya que en las palabras de Intel, aplicaciones diferentes reparten la carga de distinta manera. Por ejemplo, tenemos que algunos juegos hacen realmente traspirar los shaders (ya sean vertex, geometry o pixel shaders) y en cambio otros cargan mucho más a la unidad de rasterización lo que causa que aún cuando los shaders bajo DirectX10 sean completamente programables no se le pueda sacar todo el partido posible a los recursos físicos del procesador gráfico. En Larrabee al no ser ninguna de las unidades de función fija se evitan “cuellos de botella” lo que permitiría, como pueden imaginar, aprovechar al máximo los recursos de hardware disponible.
Suena bien. De hecho suena precisamente como el paso posterior a hacer que los shaders fueran programables (cambio que vimos aparecer con DirectX 10 y G80-R600), lo que hace que “por ahora” Larrabee pareciera estar un paso delante de las actuales arquitecturas gráficas de NVIDIA y AMD, aunque finalmente todo cambiará cuando conozcamos números concretos (en la presentación se “teorizó” con el rendimiento y escalabilidad de Larrabees desde 10 hasta 64 núcleos) tanto de número de minicores como de su rendimiento individual y grupal. Aunque Intel actualmente nos presenta gráficos de rendimiento grupal que sin tener un punto de referencia concreto muestran una escalabilidad lineal en DirectX y casi lineal en varias aplicaciones de proceso general eso sólo nos habla de cómo podemos esperar una familia completa de productos, nada más… la gente de Intel sabe perfectamente como están parados ante los que pronto serán competidores pero no quiere revelar números ya que en sus propias palabras estarían comparándose con la generación actual de gráficos y no con la próxima (?). Eso suena raro, ya que si fuera por una razón así jamás nadie podría comparar nada con nada; por ahora donde se ve la mayor flaqueza de un proyecto como Larrabee es en la dependencia de los desarrolladores de software para lograr mostrar sus mayores diferencias con sus competidores, que al día de hoy sobretodo en rubros como los videojuegos (que lo quieran o no es el que mueve la mayor cantidad de ventas de tarjetas gráficas discretas) han mostrado ser extremadamente lentos a la hora de adaptar los modelos de programación a las nuevas posibilidades que le ofrece el hardware. Tal como todavía esperamos que algún juego sepa sacar partido de los procesadores de cuatro núcleos (ok, Intel dicta charlas e invierte dinero en eso, pero ¿ha visto alguien algún resultado de eso?), realmente es difícil especular si será o no una ventaja comparativa que Intel ofrezca hardware 100% programable y sus competidores no. Tal como Intel se ha reído de CUDA ya que «depende de los programadores», aquí eventualmente podría pasar exactamente lo mismo. Como siempre, ya veremos.