AMD prepara nova arquitetura de GPUs

A arquitetura Graphics Core Next já tem sucessor e chegará em 2020/2021. É expectável um salto em performance semelhante ao que houve entre Terascale e GCN!

No mercado dos processadores, sejam eles gráficos ou centrais, existem dois tipos de evoluções: um geral a nível de arquitetura e um mais pequeno de optimização e adaptação dessa arquitectura, às necessidades do mercado. A arquitectura Graphics Core Next, em que se baseiam as actuais consolas da Sony e da Microsoft, estreou-se em 2011 e trouxe consigo um enorme número de alterações face à anterior arquitetura Terascale. No âmago dessas alterações esteve uma mudança no paradigma da programação do GPU, em que se passou de um conjunto de instruções VLIW (Very Long Instruction Word) para instrucões RISC (Reduced Instruction Set based Computing), resultando num aumento do número de transístores, mas também num aumento da performance e na capacidade de computação GPGPU.

A GCN permitiu uma arquitetura mais eficiente no agendamento de tarefas e mais flexível quanto à programação genérica. Na anterior Terascale o agendamento era feito ao nível do compilador, sendo que era este o responsável por agendar as tarefas para o GPU. O problema ocorria quando haviam tarefas que eram dependentes de outras – devido a isso todo o processamento esperava que determinadas tarefas se realizassem para se poderem utilizar os dados e, como consequência, havia partes do hardware por utilizar no processamento. Isto ocorre porque na arquitetura Terascale o paralelismo era ao nível das instruções (devido ao VLIW), mas na GCN, usando RISC em unidades vectoriais SIMD (entre outras alterações), todo o hardware foi alterado para que o paralelismo ocorresse ao nível das threads (traduz-se como fio condutor, basicamente, consiste num conjunto de instruções que podem ser executadas em sequência) –  assim as instruções eram organizadas e processadas mais eficazmente, alinhando conjuntos que possam ser processados paralelamente. Ao mesmo tempo, usando RISC, o GPU permitiu a incorporação de unidades de computação (o que chamámos de Compute Units, CUs) que eram mais capazes que a Terascale em processar código genérico. O resultado foi um grande aumento em performance, sobretudo no campo do GPGPU (algo que as consolas têm agradecido e cujos benefícios estamos hoje a ver).

Desde 2011 até hoje, a arquitetura GCN sofreu  alterações com o objetivo de melhorar e optimizar a performance e o consumo energético. Estas alterações, contudo, não alteraram a estrutura básica da arquitetura nem os paradigmas de processamento em que se baseia. A estas alterações dá-se o nome de iterações e a arquitectura GCN, ao que tudo indica, terá um total de 6 iterações ao longo do seu tempo de vida. São elas:



  • GCN 1ª geração – Southern Islands
  • GCN 2ª geração – Sea Islands
  • GCN 3ª geração  – Volcanic Islands
  • GCN 4º geração – Arctic Islands
  • GCN 5ª geração  – Vega
  • GCN 6ª geração – Navi

A GCN terá portanto um tempo de vida de 8 anos (2011-2019), sendo então substituída por esta nova sucessora.

No ano passado, a AMD atualizou o seu roadmap (em cima)  colocando um próximo passo “Next-Gen” a seguir à Navi que está programada para chegar ao mercado no próximo ano. Na altura, pensou-se que seria mais uma iteração da GCN. Contudo, foi agora revelado que será algo completamente novo. Os exactos detalhes desta nova arquitetura ainda são desconhecidos, mas sabe-se que será fabricada, muito certamente no processo de 7 nm+ e que resultará num salto em performance tão grande ou maior quanto o que houve ao passar da Terascale para GCN.

Estas notícias também acabam por fortalecer a ideia de uma nova geração em consolas o mais tardar em 2020/2021, caso não venhamos a ver algum chip adaptado com estas tecnologias nas consolas antes destes saírem para PC, até porque o uso de tecnologia de ponta nas consolas teria custos demasiadamente elevados. É certo e sabido que todas as gerações de consolas até hoje se caracterizaram por um hardware específico e inovador, com características computacionais únicas que precisava de ser exploradas pelos programadores de modo a conseguir-se realizar determinados tipos de operações que resultam em novos efeitos. Tomando como exemplo as consolas da Sony, na geração PS2 houve o Emotion Engine; na geração PS3 tivemos o CELL, com os seus SPUs complementado pelo RSX; e nesta geração as APUs AMD baseadas em GCN especialmente aptos para GPGPU (cujos benefícios estamos a ver agora, com vegetação luxuriante, cálculo de física e iluminação, mais NPCs e até novas formas de modelação).



O que podemos esperar desta nova arquitetura? Bem  uma das novidades será possivelmente a sua adaptação a um conceito de GPU multimodal algo que a nVidia também está a tentar fazer. Em que consiste isto? Basicamente, devido ás limitações de fabrico de litografias (que não permitem aumentar a quantidade de transístores que se colocam  num determinado pedaço de silicone, de forma eficiente e económica) as fabricantes estão a considerar maneiras de conseguirem colocar dentro do mesmo pacote vários GPUs ligados entre si a alta velocidade. Isto é algo que a AMD já conseguiu implementar com sucesso nos processadores série ThreadRipper  e Epyc (ver figura a seguir), usando uma tecnologia designada como Infinity Fabric.

Como é possível ver na figura anterior, os tão falados processadores ThreadRipper ou Epyc (que contêm mais de 8 núcleos Zen) são na realidade obtidos pela combinação de vários módulos Ryzen (com 8 núcleos cada, alguns desactivados), ligados entre si por canais de comunicação no PCB, usando a tecnologia Infinity Fabric. O futuro passará pela ligação de vários GPUs, algo que até poderá estar para os próximos tempos dado os GPUs Vega já suportarem esta tecnologia (se bem que numa primeira versão).



Aliás, com o Infinity Fabric, a AMD pavimentou o caminho para um futuro onde vários GPUs inseridos no mesmo silicone irão funcionar como um único. Aqui não haverá desperdício de memória como há com os GPUs discretos no Crossfire ou SLI onde cada placa possui uma cópia das texturas e geometria, causando um gasto duplo de memória e onde apenas o processamento é partilhado, normalmente com cada GPU a calcular metade do fotograma. Basicamente com esta nova tecnologia haverá coerência entre os GPUs, e inclusive a cache interna será partilhada entre todos eles. O resultado é um conjunto de GPUs que funcionam como um só, e onde o funcionamento, num exemplo de processamento atual com dois GPUs, não será do género “Tu tratas das linhas pares e eu trato das linhas ímpares, e da parte do GPGPU – atualmente o GPGPU necessita de ficar exclusivamente num único GPU- sendo mais do género “Nos os dois dividimos o trabalho como melhor pudermos, optimizando todo o processamento ao máximo”.

Mais ainda, aqui o processo de divisão do trabalho, para além de super optimizado será totalmente invisível ao programador. Toda a divisão do trabalho será feita internamente pelo próprio hardware, sendo o conjunto de GPUs tratado como se fosse um só. O Infinity Fabric que poderá ser a tecnologia na base de toda a arquitectura de nova geração possui ainda a possibilidade de acrescentar GPUs com tremenda facilidade, tornando fácil e barata a criação de GPUs com performances até agora não imaginadas.

O melhor de tudo isto é que, apesar de os futuros GPUs de topo optimizados com a nova arquitectura que permitem o uso do Infinity Fabric ao máximo irem ser caros no seu lançamento, o facto de esta tecnologia estar já disponível, mesmo que sem a total optimização nos GPUs AMD Vega, permite que, com eles ou com os Navi, se possa vir a criar um GPU que se revelará de menor de custo mas possuindo já uma elevada performance, tornando-o no componente ideal para as consolas e já usando esta tecnologia multi GPU.

Fonte: Wccftech, Anandtech, Techreport



Posts Relacionados

newest oldest
Notify of
Carlos Zidane
Visitante
Carlos Zidane

Esse é meu tipo de artigo preferido. Bom trabalho Mário, explica essas coisas de forma a elas parecerem mais fáceis de entender. Algumas dessas leituras em outros sites se torna muito complicada.
Curiosidade pra saber o que virá é uma das coisas mais fascinantes na tecnologia.
Valeu por mais um belo artigo.

Carlos Zidane
Visitante
Carlos Zidane

Correção: Bruno Ribeiro, perdoe de novo a desatenção! 😯

Parabéns, ótimo artigo. Já baixei no meu Evernote pra minha enciclopédia de tecnologia.

bruno
Visitante
bruno

Não há problema Carlos! Eu estou só a ajudar o Mário e neste maior parte do artigo até é dele, por isso, não tem problema.

E de resto, muito obrigado.

Mário Armão Ferreira
Admin

Maior parte? Só se contares com o tamanho da fonte 😀

bruno
Visitante
bruno

Os teus conselhos, esclarecimentos… que agradeço muito. E os 3 últimos parágrafos, esses são todos teus. Sem falar das contribuições que deste no início.

Mais uma vez, muito obrigado.

Mário Armão Ferreira
Admin

Não, não..? Eu é que agradeço e não se fala mais disso 😉

bruno
Visitante
bruno

Aproveitando, uma questão…

Um Ryzen de 7 nm, ocupará garantidamente metade da área do Ryzen de 14 nm? Pergunto porque a Vega, por exemplo, não ocupa só metade da Fiji. Mas isto deve-se ao facto de se terem feito alteraçõe no hardware, com alguns componentes a serem colocados na Vega e que ocupam mais àrea, não?

Mário Armão Ferreira
Admin

A resposta a isso é complicada… vamos apenas dizer que não é assim tão directo!
Vê esta tabela da área de chips de memória. Percebes que no que toca à área há vários factores a tomar em conta que não apenas a litografia em si.
http://www.extremetech.com/wp-content/uploads/2016/01/FeatureSizes1.png

Mário Armão Ferreira
Admin

É do Bruno 😉

Bruno
Visitante
Bruno

Será que Sony e MS vão lançar os próximos consoles com essa tecnologia?

Vitor Calado
Visitante
Vitor Calado

não

Vitor Calado
Visitante
Vitor Calado

as novas consolas já estão em fase de desenvolvimento…não me admirava se a Sony tivesse já um protótipo para testes

bruno
Visitante
bruno

É verdade… mas isso não significa que não hajam lá pelo menos elementos desta nova arquitetura…

Há rumores que indicam que houve protótipos desta geração com o steamroller, algo que as empresas depois largaram para em virtude do jaguar (um núcleo steamroller ocupava o mesmo espaço que 4 núcleos jaguar, pelo que li num forum)

Além disso, mesmo a AMD afirmou que aprendeu com o desenho e sugestões das fabricantes para o APU das consolas – por exemplo, o GPU da PS4 tem alterações que só se viram aplicadas em placas que saíram em 2014.

OU seja, não se pode afirmar peremptóriamente que a tecnologia nova não irá estar lá. Pelo menos parte poderá estar.

bruno
Visitante
bruno

Depende da altura em que forem lançadas. Se for em 2019/2020, provavelmente não aplicarão esta nova tecnologia completamente, talvez apenas algumas melhorias…

Se for depois dessa data, 2021/2022 (o que já é esticar um pouco a corda no que diz respeito à duração da atual geração), pode ser que sim. A GCN quando foi introduzida nas consolas atuais tinha 2 anos. Por isso em 2021/2022 é possivel que sim.

Ewertom
Visitante
Ewertom

Mais uma matéria que esta nos meu favoritos.
Também gosto demais deste tipo de assunto.
Parabens Bruno por compartilhar.
Obrigado.

Mário Armão Ferreira
Admin

Amanhã tens outro do género! Também do Bruno!
E nesse eu só meti imagens por isso ele que não me venha dar créditos! 😉

Ewertom
Visitante
Ewertom

As vezes penso que quem traz grandes inovações tanto no campo CPU e GPU é mais a AMD,suas caracteristicas de programação quando usadas da forma como são criadas tiram muita performance bruta que acho eu a Intel ou Nvidia não alcançam.

Mário Armão Ferreira
Admin

A Nvidia não fica nada a dever à AMD. A diferença é que a Nvidia usa tácticas com as quais eu não concordo. Basicamente a Nvidia optimiza as drivers para os jogos em vez de usar drivers genéricas, a Nvidia paga para se usar o seu código optimizado (Gameworks) nos jogos, e não deixa a AMD optimizar para eles, e nesses jogos, a Nvidia por vezes usa tácticas pouco correctas para sabotar a performance da concorrência.
Se não leste ainda, lê isto:
http://www.pcmanias.com/um-exemplo-de-como-jogos-patrocinados-deixam-ao-comprador-de-videojogos-a-ideia-de-que-e-burlado/
Eu sou o primeiro a dizer que a Nvidia é excelente… mas é uma empresa que usa tácticas com as quais não concordo especialmente.

bruno
Visitante
bruno

A ser sincero, e neste aspeto temos que dar crédito à nVidia, esta empresa também optimiza e introduz efeitos nos seus GPUs que a AMD nao faz.

Olha para isto:

https://www.youtube.com/watch?v=6vipmar3wS4

https://www.youtube.com/watch?v=IltIVf_TeFg

Em comparação a AMD, apesar de não duvidar que o seu hardware é capaz falha e muito neste aspeto.

O TressFX deixa a desejar face ao Hairworks e do resto nunca vi nada igual da AMD.

E seriam ferramentas que os developers agradeceriam. Se as próximas consolas tivessem duplo GPU com um GPU nVidia para estes efeitos não ficaríamos mal servidos.

Claro que isto já é sonhar demasiado alto.

Mário Armão Ferreira
Admin

Talvez não saibas ou não te lembres Bruno, mas quando Tomb Raider, o reboot de 2013 saiu, o jogo estreou o Tress FX no cabelo de Lara.
O resultado abismou muita gente, mas deixou o mundo Nvidia de rastos. As placas da Nvidia não aguentavam com o Tress FX e as performances eram um nojo.
Como consequência da má imagem dos seus GPUs que apresentavam fotogramas miseráveis com o Tress FX, a Nvidia pediu o código fonte do Tress FX à AMD para o poder optimizar para os seus GPUs.
E a AMD acedeu. O código foi optimizado e ao fim de 2 ou 3 patches as placas da Nvidia faziam igual às AMD.
Curiosamente a Nvidia fez algo semelhante, o Hairworks… para os seus GPUs, que as AMD tambem correm mas com menores performances.
A AMD pediu o código à Nvidia para o optimizar para os seus GPUs.
A Nvidia fez-lhe um manguito. Meteu o hairworks como parte do seu Gameworks, um conjunto de optimizações para a Nvidia nas quais a Nvidia não cede o código a ninguem para que possam optimizar para os seus GPUs.
Seria de esperar que a AMD passasse a pagar com a mesma moeda… mas curiosamente não. A AMD tudo o que desenvolve coloca acessível o código para quem quiser. A Nvidia fecha-se em copas e mete tudo exclusivo.
Assim são as duas empresas… e aqui não tenho problemas nenhuns em dizer que não aprecio as atitudes deles. É uma empresa que se ficasse sozinha no mercado, fazia o que queria e bem lhe apetecia extorquindo os gamers até ao último centavo. As performances dos seus GPUs são artificiais, muitas vezes optimizado caso a caso (ou jogo) nas drivers. Casos de corte de precisão de cálculo para ganhos nas suas placas, de substituição dos shader por outros mais simples e proprietários e de aldrabices diversas para subir as suas performances e ou para descer as da AMD existem e foram tornadas públicas na altura (falata saber o que ficou por se conhecer).
A Nvidia tambem aposta e muito na evolução. Nesse sentido não deixo de olhar para eles com admiração. Agora eles só estão onde estão porque pagaram para isso, porque se não o tivessem feito ou se tivesse sido ao contrário, não estariam lá certamente.
E isso eu tenho sempre presente.