Idade da Nvidia

imagem

Aparentemente, a era da computação GPU chegou! A Intel está indo mal. Se você não leu meu blog regularmente nos últimos anos, explicarei que [ Alex St. John ] estava na origem da equipe original do DirectX na Microsoft em 1994 e criei a API Direct3D juntamente com outros primeiros criadores do directX (Craig Eisler e Eric Engstrom) e contribuiu para sua distribuição na indústria de videogames e entre os fabricantes de chips gráficos. Sobre este tópico no meu blog, você pode encontrar muitas histórias, mas a que está diretamente relacionada a este post, escrevi em 2013.
História da Nvidia

Eu acho que a versão dos futuros jogos da Nvidia está correta, e eu realmente gosto de viver em uma época em que posso trabalhar com recursos incríveis de computador. Parece-me que eu vivi uma época em que posso caminhar pela ponte Enterprise e brincar com o warp drive. E literalmente - a Nvidia chama o warp a unidade mínima de processos paralelos que podem ser executados na GPU.

Aqueles que seguem cotações de ações podem ter notado que as ações da Nvidia subiram acentuadamente recentemente após muitos anos de subida lenta. Parece-me que esse avanço repentino anuncia uma mudança revolucionária na computação, representando o culminar de muitos anos de progresso no desenvolvimento da GPGPU . Até hoje, a Intel manteve o monopólio da computação no mercado industrial, repelindo com sucesso os ataques dos concorrentes por sua superioridade na computação industrial. Esse domínio terminou este ano e o mercado está se aproximando. Para entender o que está acontecendo e por que isso está acontecendo, voltarei aos meus primeiros anos na Microsoft.

Nos anos 90, Bill Gates cunhou o termo “Cooperação” [Cooperação = competição + cooperação] para descrever parcerias competitivas torturadas com outros líderes da indústria de tecnologia da época. Ao falar sobre a Intel, o termo surgiu especialmente com frequência. E enquanto o destino e o sucesso da Microsoft e da Intel se entrelaçavam cada vez mais firmemente, as duas empresas brigavam constantemente pelo domínio. Ambas as empresas tinham equipes de pessoas que se "especializaram" na tentativa de obter vantagem sobre seus rivais. Paul Maritz, então executivo-chefe da Microsoft, estava muito preocupado que a Intel tentasse virtualizar o Windows, permitindo que muitos outros SOs concorrentes entrassem no mercado e existissem em um PC de mesa em paralelo com o Windows. Curiosamente, Paul Maritz mais tarde se tornou CEO da VMWARE. De fato, a Intel investiu ativamente em tais tentativas. Uma de suas estratégias foi a tentativa de emular no nível do software toda a funcionalidade de ferro geralmente aceita, com a qual os OEMs geralmente forneciam PCs - placas de vídeo, modems, placas de som, equipamentos de rede etc. Ao transferir toda a computação externa para o processador Intel, a empresa poderia destruir as vendas e o crescimento de todas as possíveis plataformas alternativas de computação que poderiam crescer, ameaçando a CPU da Intel. Especificamente, o anúncio da Intel da tecnologia 3DR em 1994 levou a Microsoft a criar o DirectX.

Trabalhei na equipe da Microsoft, responsável pelo posicionamento estratégico da empresa diante das ameaças competitivas do mercado, o “Developer Relations Group” [DRG]. A Intel exigiu que a Microsoft envie um representante para falar na apresentação 3DR. Como especialista em gráficos e 3D na Microsoft, fui enviado com uma missão especial para avaliar a ameaça que a nova iniciativa da Intel potencialmente representava e formular uma estratégia eficaz para lidar com ela. Decidi que a Intel estava realmente tentando virtualizar o Windows, emulando no nível do software todos os dispositivos de processamento de dados possíveis. Eu escrevi uma proposta chamada "levar o entretenimento a sério", em que propus bloquear as tentativas da Intel de reduzir o Windows para criar um mercado consumidor competitivo para novos recursos de hardware. Eu queria criar um novo conjunto de drivers do Windows que permitisse uma concorrência massiva no mercado de hardware, para que o trabalho de novas mídias, incluindo áudio, entrada de dados, vídeo, tecnologias de rede, etc. no mercado de jogos para PC que estamos criando, depende de nossos próprios drivers do Windows. A Intel não conseguiu lidar com a concorrência no mercado livre que criamos para empresas que produzem ferro para consumo e, portanto, não conseguiu criar uma CPU capaz de virtualizar efetivamente toda a funcionalidade que os usuários poderiam exigir. E assim nasceu o DirectX.

Neste blog, você pode encontrar muitas histórias sobre os eventos em torno da criação do DirectX, mas, em suma, nossa “estratégia do mal” tem sido um sucesso. A Microsoft percebeu que, para dominar o mercado consumidor e conter a Intel, era necessário se concentrar nos videogames, após o qual dezenas de fabricantes de chips 3D apareceram. Vinte e tantos anos depois, entre o pequeno número de sobreviventes, a Nvidia, juntamente com a ATI, desde então adquirida pela AMD, dominou o mercado de gráficos para consumidores e, mais recentemente, o mercado de computação industrial.

Isso nos leva de volta ao ano atual de 2017, quando a GPU finalmente começa a suplantar completamente os processadores x86, que todos costumavam tratar com admiração. Por que agora e por que a GPU? O segredo da hegemonia do x86 foi o sucesso do Windows e a compatibilidade com as instruções do x86 até a década de 1970. A Intel pode manter e aumentar seu monopólio no mercado industrial, devido ao fato de o custo de portar aplicativos para uma CPU com qualquer outro conjunto de instruções, que não ocupa nenhum nicho de mercado, ser muito alto. O fenomenal conjunto de recursos do sistema operacional Windows vinculado à plataforma x86 fortaleceu a posição de mercado da Intel. O início do fim chegou quando a Microsoft e a Intel juntas não conseguiram dar o salto para o domínio no mercado emergente de computação móvel. Pela primeira vez em várias décadas, um crack apareceu no mercado de processadores x86, que foi preenchido por processadores ARM, após o qual o novo sistema operacional Windows alternativo da Apple e Google conseguiu capturar um novo mercado. Por que a Microsoft e a Intel falharam em dar esse salto? Você pode encontrar um carro de razões interessantes, mas na estrutura deste artigo, gostaria de enfatizar uma coisa - bagagem de compatibilidade com versões anteriores do x86. Pela primeira vez, a eficiência energética se tornou mais importante para o sucesso da CPU do que a velocidade. Todos os transistores e todos os milhões de linhas de código para x86 incorporadas pela Intel e Microsoft nos PCs se tornaram barreiras à eficiência energética. O aspecto mais importante da hegemonia de mercado da Intel e da Microsoft em um ponto tornou-se um obstáculo.

imagem

A necessidade da Intel de aumentar constantemente a velocidade e o suporte à compatibilidade com versões anteriores obrigaram a empresa a gastar cada vez mais transistores que consomem muita energia para obter ganhos de velocidade cada vez menores em cada nova geração de processadores x86. A compatibilidade com versões anteriores também prejudicou seriamente a capacidade da Intel de paralelizar seus chips. A primeira GPU paralela apareceu nos anos 90 e as primeiras CPUs dual-core da Intel foram lançadas apenas em 2005. Ainda hoje, a CPU mais poderosa da Intel pode lidar com apenas 24 núcleos, embora a maioria das placas gráficas modernas possua processadores com milhares de núcleos. As GPUs originalmente paralelas não carregavam bagagem de compatibilidade com versões anteriores e, graças a tecnologias independentes da arquitetura, APIs como Direct3D e OpenGL estavam livres para inovar e aumentar o paralelismo sem comprometer a compatibilidade ou a eficiência do transistor. Em 2005, as GPUs se tornaram plataformas de computação de uso geral, suportando computação paralela de uso geral heterogênea. Por heterogeneidade, quero dizer que os chips da AMD e NVIDIA podem executar os mesmos programas compilados, apesar da arquitetura de baixo nível e do conjunto de instruções completamente diferentes. E no momento em que os chips da Intel alcançavam picos de desempenho decrescentes, a GPU dobrava sua velocidade a cada 12 meses, enquanto reduzia o consumo de energia pela metade! A paralelização extrema tornou possível o uso eficiente dos transistores, fornecendo a cada transistor sucessivo adicionado à GPU a capacidade de influenciar efetivamente a velocidade da operação, enquanto um número crescente de transistores x86 em número crescente não estava ocupado.

Embora as GPUs invadem cada vez mais os supercomputadores industriais, mídia e VDIs, a principal virada no mercado ocorreu quando o Google começou a usar GPUs de maneira eficaz para treinar redes neurais capazes de coisas muito úteis. O mercado percebeu que a IA seria o futuro do processamento de big data e abriria novos e enormes mercados de automação. As GPUs eram ideais para a operação de redes neurais. Até esse momento, a Intel se baseou com sucesso em duas abordagens que suprimiram a crescente influência da GPU na computação industrial.

1. A Intel manteve a velocidade do barramento PCI baixa e limitou o número de caminhos de E / S suportados pelo processador, garantindo assim que as GPUs sempre dependessem dos processadores Intel no processamento de sua carga e permanecessem separadas de vários aplicativos valiosos de computação de alta velocidade em tempo real. Devido a atrasos e limitações de largura de banda do PCI. Enquanto sua CPU conseguiu limitar o acesso do aplicativo à velocidade da GPU, a Nvidia permaneceu na extremidade do barramento PCI sem acesso a muitas cargas industriais praticamente úteis.
2. Forneceu uma GPU barata com funcionalidade mínima no processador do consumidor para isolar a Nvidia e a AMD do mercado de jogos premium e da aceitação geral pelo mercado.

A crescente ameaça da Nvidia e as tentativas fracassadas da Intel de criar aceleradores de supercomputadores compatíveis com x86 forçaram a Intel a escolher uma tática diferente. Eles adquiriram a Altera e desejam incluir FPGAs programáveis ​​na próxima geração de processadores da Intel. Essa é uma maneira complicada de garantir que o processador Intel ofereça maior capacidade de E / S em comparação com o hardware de barramento PCI limitado dos concorrentes e que a GPU não obtenha nenhuma vantagem. O suporte a FPGAs permitiu que a Intel seguisse na direção do suporte à computação paralela em seus chips, sem entrar nas portas do crescente mercado de aplicativos que usam GPUs. Também permitiu que os fabricantes de computadores industriais criassem hardware altamente especializado, ainda dependente do x86. Foi uma jogada brilhante por parte da Intel, pois excluiu a possibilidade de a GPU entrar no mercado industrial em várias direções ao mesmo tempo. Brilhante, mas provavelmente fadado ao fracasso.

Cinco notícias consecutivas explicam o motivo pelo qual tenho certeza que a festa do x86 terminará em 2017.

1. O Fundo VisionFund da SoftBank recebe US $ 93 bilhões em investimentos de empresas que desejam substituir a Intel
2. A SoftBank comprou a ARM Holdings por US $ 32 bilhões
3. SoftBank comprou ações da Nvidia por US $ 4 bilhões
4. A Nvidia lança o Projeto Denver [codinome para a microarquitetura da Nvidia que implementa o conjunto de instruções ARMv8-A de 64/32 bits usando uma combinação de um decodificador de hardware simples e um conversor binário de software com recompilação dinâmica / aprox. perev.]
5. A NVIDIA anunciou o Xavier Tegra SOC com uma GPU Volta com 7 bilhões de transistores, 512 núcleos CUDA e 8 núcleos personalizados ARM64 - um chip móvel ARM / híbrido com núcleos acelerados por GPU.

Por que essa sequência de eventos é importante? Foi neste ano que a primeira geração de GPUs independentes entrou no mercado em amplo acesso e é capaz de lançar seu próprio sistema operacional sem obstáculos na forma de PCI. A Nvidia não precisa mais de um processador x86. O ARM possui um número impressionante de sistemas operacionais e aplicativos para consumidores e industriais portados para eles. Todos os mercados industrial e de nuvem estão migrando para os chips da ARM como controladores para uma ampla gama de soluções de mercado. Os FPGAs já estão integrados nos chips ARM. Os chips ARM consomem pouca energia, com desempenho inferior, mas as GPUs são extremamente rápidas e eficientes; portanto, as GPUs podem fornecer energia ao processador, e os núcleos ARM podem lidar com operações tediosas de IO e UI que não requerem energia de processamento. Um número crescente de aplicativos trabalhando com big data, computação de alto desempenho e aprendizado de máquina não precisa mais do Windows e não funciona no x86. 2017 é o ano em que a Nvidia quebra a barreira e se torna uma alternativa competitiva verdadeiramente viável à computação industrial baseada em x86 em novos e valiosos mercados, não adequados para soluções baseadas em x86.

Se o processador ARM não for poderoso o suficiente para suas necessidades, a IBM, em colaboração com a Nvidia, produzirá uma nova geração de CPUs Power9 para processar grandes dados trabalhando com 160 pistas PCIe.



A AMD também está lançando um novo CPU Ryzen e, diferentemente da Intel, a AMD não tem interesse estratégico em diminuir o desempenho do PCI. Seus chips de consumidor suportam 64 pistas PCIe 3.0 e os profissionais suportam 128. A AMD também está lançando um novo compilador cruzado HIP que torna os aplicativos CUDA compatíveis com as GPUs AMD. Apesar do fato de essas duas empresas estarem competindo entre si, ambas se beneficiarão do deslocamento da Intel no mercado industrial com abordagens alternativas à computação de GPU.

Tudo isso significa que, nos próximos anos, as soluções baseadas em GPU capturarão a computação industrial com velocidade cada vez maior, e o mundo das interfaces de desktop dependerá cada vez mais da visualização em nuvem ou trabalhará nos processadores ARM móveis, já que até a Microsoft anunciou o suporte ao ARM .



Juntando tudo, prevejo que em poucos anos ouviremos apenas a batalha entre a GPU e o FPGA por uma vantagem na computação industrial, enquanto a era da CPU terminará gradualmente.

Source: https://habr.com/ru/post/pt405409/


All Articles