Aparentemente, ¡la era de la computación GPU ha llegado! Intel lo está haciendo mal. Si no ha leído mi blog con bastante frecuencia en los últimos años, le explicaré que yo [
Alex St. John ]
estuve en los orígenes del equipo original de DirectX en Microsoft en 1994, y creé la API Direct3D junto con otros primeros creadores de directX (Craig Eisler y Eric Engstrom) y contribuyó a su distribución en la industria de los videojuegos y entre los fabricantes de chips gráficos. Sobre este tema en
mi blog puedes encontrar muchas historias, pero la que está directamente relacionada con esta publicación, la escribí en 2013.
Historia de nvidia
Creo que la versión de los futuros juegos de Nvidia es correcta, y realmente disfruto viviendo en una época en la que puedo trabajar con capacidades informáticas tan sorprendentes. Me parece que he vivido una época en la que puedo caminar a lo largo del puente Enterprise y jugar con la unidad warp. Y, literalmente, Nvidia llama al warp la unidad mínima de procesos paralelos que se pueden ejecutar en la GPU.
Quienes siguen cotizaciones bursátiles pueden haber notado que las acciones de Nvidia han aumentado recientemente después de muchos años de escalada lenta. Me parece que este avance repentino anuncia un cambio revolucionario en la informática, que representa la culminación de muchos años de progreso en el desarrollo de
GPGPU . Hasta el día de hoy, Intel ha mantenido el monopolio de la informática en el mercado industrial y ha rechazado con éxito los ataques de los competidores sobre su superioridad en la informática industrial. Este dominio ha terminado este año, y el mercado lo está viendo acercarse. Para comprender qué está sucediendo y por qué está sucediendo, volveré a mis primeros años en Microsoft.
En los años 90, Bill Gates acuñó el término "Cooperación" [Cooperación = competencia + cooperación] para describir asociaciones competitivas torturadas con otros líderes de la industria de la tecnología de la época. Cuando hablamos de Intel, el término apareció especialmente a menudo. Y aunque el destino y el éxito de Microsoft e Intel se entrelazaron cada vez más, las dos compañías lucharon constantemente por el dominio. Ambas compañías tenían equipos de personas que se "especializaron" en tratar de obtener una ventaja sobre sus rivales. Paul Maritz, quien era el entonces director ejecutivo de Microsoft, estaba muy preocupado de que Intel pudiera tratar de virtualizar Windows, permitiendo que muchos otros sistemas operativos competidores ingresen al mercado y existan en una PC de escritorio en paralelo con Windows. Curiosamente, Paul Maritz más tarde se convirtió en CEO de VMWARE. De hecho, Intel invirtió activamente en tales intentos. Una de sus estrategias fue un intento de emular a nivel de software toda la funcionalidad de hierro generalmente aceptada, con la que los OEM generalmente suministraban PC: tarjetas de video, módems, tarjetas de sonido, equipos de red, etc. Al transferir toda la informática externa al procesador Intel, la compañía podría destruir las ventas y el crecimiento de todas las plataformas informáticas alternativas posibles que de otro modo podrían crecer, amenazando la CPU de Intel. Específicamente, el anuncio de Intel de la tecnología 3DR en 1994 llevó a Microsoft a crear DirectX.
Trabajé para el equipo de Microsoft, que era responsable del posicionamiento estratégico de la empresa a la luz de las amenazas competitivas en el mercado, el "Grupo de Relaciones con Desarrolladores" [DRG]. Intel exigió que Microsoft envíe un representante para hablar en la presentación de 3DR. Como experto en gráficos y 3D en Microsoft, me enviaron una misión especial para evaluar la amenaza que la nueva iniciativa de Intel podría plantear y formular una estrategia efectiva para enfrentarla. Decidí que Intel realmente estaba tratando de virtualizar Windows, emulando a nivel de software todos los dispositivos de procesamiento de datos posibles. Escribí una propuesta llamada "tomar el entretenimiento en serio", donde propuse bloquear los intentos de Intel de hacer que Windows sea pequeño para crear un mercado de consumo competitivo para nuevas funciones de hardware. Quería crear un nuevo conjunto de controladores de Windows que permitiera una competencia masiva en el mercado de hardware, de modo que el trabajo de los nuevos medios, incluyendo audio, entrada de datos, video, tecnologías de red, etc. En el mercado de juegos de PC que estamos creando, dependíamos de nuestros propios controladores de Windows. Intel no pudo hacer frente a la competencia en el mercado libre que creamos para las compañías que producen hierro de consumo, y por lo tanto no pudo crear una CPU que pueda virtualizar efectivamente todas las funcionalidades que los usuarios podrían requerir. Y así nació DirectX.
En este blog puedes encontrar muchas historias sobre los eventos que rodearon la creación de DirectX, pero en resumen, nuestra "estrategia malvada" ha sido un éxito. Microsoft se dio cuenta de que para dominar el mercado de consumo y contener a Intel, era necesario centrarse en los videojuegos, después de lo cual aparecieron docenas de fabricantes de chips 3D. Veinte años después, entre el pequeño número de sobrevivientes, Nvidia, junto con ATI, adquirida desde entonces por AMD, dominó el mercado de gráficos de consumo y, más recientemente, el mercado de la informática industrial.
Esto nos lleva de vuelta al año actual de 2017, cuando la GPU finalmente comienza a suplantar por completo a los procesadores x86, que todos solían tratar con asombro. ¿Por qué ahora y por qué la GPU? El secreto de la hegemonía x86 fue el éxito de Windows y la compatibilidad con las instrucciones x86 hasta la década de 1970. Intel pudo mantener y aumentar su monopolio en el mercado industrial debido al hecho de que el costo de transferir aplicaciones a una CPU con cualquier otro conjunto de instrucciones, que no ocupaba ningún nicho de mercado, era demasiado alto. El fenomenal conjunto de características del sistema operativo Windows vinculado a la plataforma x86 ha fortalecido la posición de mercado de Intel. El principio del fin llegó cuando Microsoft e Intel juntos no pudieron dar el salto al dominio en el emergente mercado de la informática móvil. Por primera vez en varias décadas, apareció una grieta en el mercado de CPU x86, que se llenó con procesadores ARM, después de lo cual las nuevas alternativas del sistema operativo Windows de Apple y Google pudieron capturar un nuevo mercado. ¿Por qué Microsoft e Intel no lograron dar este salto? Puede encontrar un automóvil con razones interesantes, pero en el marco de este artículo me gustaría enfatizar una cosa: el equipaje de compatibilidad con versiones anteriores x86. Por primera vez, la eficiencia energética se ha vuelto más importante para el éxito de la CPU que la velocidad. Todos los transistores y todos los millones de líneas de código para x86 integrados por Intel y Microsoft en las PC se han convertido en barreras para la eficiencia energética. El aspecto más importante de la hegemonía del mercado de Intel y Microsoft en un momento se convirtió en un obstáculo.

La necesidad de Intel de un aumento constante en la velocidad y el soporte para la compatibilidad con versiones anteriores obligó a la compañía a gastar más y más transistores que consumen mucha energía para obtener ganancias de velocidad cada vez menores en cada nueva generación de procesadores x86. La compatibilidad con versiones anteriores también ha obstaculizado seriamente la capacidad de Intel para paralelizar sus chips. La primera GPU paralela apareció en los años 90, y las primeras CPU Intel de doble núcleo se lanzaron solo en 2005. Incluso hoy, la CPU más potente de Intel puede manejar solo 24 núcleos, aunque la mayoría de las tarjetas gráficas modernas tienen procesadores con miles de núcleos. Las GPU que originalmente eran paralelas no llevaban equipaje de compatibilidad con versiones anteriores, y gracias a las tecnologías independientes de la arquitectura, las API como Direct3D y OpenGL eran libres de innovar y aumentar el paralelismo sin tener que comprometer la compatibilidad o la eficiencia del transistor. En 2005, las GPU se habían convertido incluso en plataformas informáticas de uso general que admitían la informática paralela heterogénea de uso general. Por heterogeneidad, quiero decir que los chips de AMD y NVIDIA pueden ejecutar los mismos programas compilados, a pesar de una arquitectura de bajo nivel completamente diferente y un conjunto de instrucciones. Y en un momento en que los chips de Intel estaban logrando picos de rendimiento decrecientes, la GPU duplicó su velocidad cada 12 meses, ¡mientras reducía el consumo de energía a la mitad! La paralelización extrema hizo posible el uso de transistores de manera muy eficiente, proporcionando a cada transistor sucesivo agregado a la GPU la capacidad de influir efectivamente en la velocidad de operación, mientras que un número creciente de transistores x86 que crecía en número no estaban ocupados.
Aunque las GPU estaban invadiendo cada vez más las supercomputadoras industriales, los medios y las VDI, el principal giro en el mercado se produjo cuando Google comenzó a usar GPU de manera efectiva para entrenar redes neuronales capaces de cosas muy útiles. El mercado se dio cuenta de que la IA sería el futuro del procesamiento de grandes datos y abriría enormes mercados de automatización nuevos. Las GPU eran ideales para soportar redes neuronales. Hasta este momento, Intel se ha basado con éxito en dos enfoques que han suprimido la creciente influencia de la GPU en la informática industrial.
1. Intel mantuvo baja la velocidad del bus PCI y limitó el número de rutas de E / S admitidas por su procesador, asegurando así que las GPU siempre dependerían de los procesadores Intel en el procesamiento de su carga y permanecerían separadas de varias aplicaciones informáticas de alta velocidad en tiempo real valiosas. Debido a retrasos y limitaciones de ancho de banda PCI. Si bien su CPU pudo limitar el acceso de la aplicación a la velocidad de la GPU, Nvidia languideció en ese extremo del bus PCI sin acceso a muchas cargas industriales prácticamente útiles.
2. Proporcionó una GPU barata con una funcionalidad mínima en el procesador del consumidor para aislar a Nvidia y AMD del mercado de juegos premium y de la aceptación general del mercado.
La creciente amenaza de Nvidia y los intentos fallidos de Intel de crear aceleradores de supercomputadoras compatibles con x86 obligaron a Intel a elegir una táctica diferente. Han adquirido Altera y quieren incluir FPGA programables en la próxima generación de procesadores de Intel. Esta es una forma complicada de garantizar que el procesador de Intel admita mayores capacidades de E / S en comparación con el hardware de bus PCI limitado de la competencia, y que la GPU no obtenga ninguna ventaja. El soporte para FPGA permitió a Intel ir en la dirección de soportar la computación paralela en sus chips, sin entrar en las puertas del creciente mercado de aplicaciones que usan GPU. También permitió a los fabricantes de computadoras industriales crear hardware altamente especializado, aún dependiente de x86. Este fue un movimiento brillante por parte de Intel, ya que excluyó la posibilidad de que la GPU ingrese al mercado industrial en varias direcciones a la vez. Brillante, pero muy probablemente condenado al fracaso.
Cinco noticias consecutivas explican la razón por la que estoy seguro de que la fiesta x86 terminará en 2017.
1.
El fondo VisionFund de SoftBank obtiene $ 93 mil millones en inversiones de compañías que desean reemplazar a Intel2.
SoftBank compró ARM Holdings por $ 32 mil millones3.
SoftBank compró acciones de Nvidia por $ 4 mil millones4. Nvidia lanza el
Proyecto Denver [nombre en clave de la microarquitectura Nvidia que implementa el conjunto de instrucciones ARMv8-A de 64/32 bits usando una combinación de un decodificador de hardware simple y un traductor binario de software con una recopilación dinámica / aprox. perev.]
5.
NVIDIA anunció el Xavier
Tegra SOC con una GPU Volta con 7 mil millones de transistores, 512 núcleos CUDA y 8 núcleos personalizados ARM64, un chip ARM / híbrido móvil con núcleos ARM acelerados por GPU.
¿Por qué es importante esta secuencia de eventos? Fue este año que la primera generación de GPU independientes ingresó al mercado con amplio acceso, y es capaz de lanzar su propio sistema operativo sin obstáculos en forma de PCI. Nvidia ya no necesita un procesador x86. ARM tiene una impresionante cantidad de aplicaciones y sistemas operativos industriales y de consumo portados a ellos. Todos los mercados industriales y en la nube están cambiando a chips de ARM como controladores para una amplia gama de sus soluciones de mercado. Los FPGA ya están integrados en los chips ARM. Los chips ARM consumen poca energía, un rendimiento inferior, pero las GPU son extremadamente rápidas y eficientes, por lo que las GPU pueden proporcionar potencia de procesador, y los núcleos ARM pueden manejar tediosas operaciones de IO y UI que no requieren potencia de procesamiento. Un número cada vez mayor de aplicaciones que trabajan con big data, computación de alto rendimiento, aprendizaje automático ya no necesitan Windows y no funcionan en x86. 2017 es el año en que Nvidia rompe la correa y se convierte en una alternativa competitiva verdaderamente viable a la informática industrial basada en x86 en nuevos mercados valiosos que no son adecuados para soluciones basadas en x86.
Si el procesador ARM no es lo suficientemente potente para sus necesidades,
IBM, en colaboración con Nvidia, producirá una nueva generación de CPU Power9 para procesar grandes datos que funcionan con 160 carriles PCIe.
AMD también está lanzando una nueva CPU Ryzen , y a diferencia de Intel, AMD no tiene ningún interés estratégico en sofocar el rendimiento de PCI. Sus chips de consumo admiten 64 carriles PCIe 3.0, y los profesionales admiten 128. AMD también está lanzando un nuevo compilador cruzado HIP que hace que las aplicaciones CUDA sean compatibles con las GPU AMD. A pesar del hecho de que estas dos compañías están compitiendo entre sí, ambas se beneficiarán del desplazamiento de Intel en el mercado industrial con enfoques alternativos para la computación GPU.
Todo esto significa que en los próximos años, las soluciones basadas en GPU capturarán la informática industrial con mayor velocidad, y el mundo de las interfaces de escritorio dependerá cada vez más de la visualización en la nube o trabajará en procesadores ARM móviles, ya que incluso
Microsoft anunció soporte para ARM .

Poniendo todo junto, predigo que en unos pocos años solo escucharemos sobre la batalla entre la GPU y el FPGA por la ventaja en la informática industrial, mientras que la era de la CPU terminará gradualmente.