Quarta parte da adaptação do post do utilizador anexanhume, publicado no Resetera, e que é um apanhado de todos os rumores sobre as futuras consolas.
Caixas Negras
Trazendo equilibrio
A arquitectura Zen foi de transformação para a AMD, trazendo-lhe vários contratos empresariais, superioridades em muitas aplicações pesadas em tarefas simultâneas, e a renovação da adoração dos entusiastas com a elevação da mistica de Lisa Su (CEO da AMD). O salto tremendo no IPC face ao Jaguar ou Puma e outros como o Bulldozer, Excavator e Piledriver, existentes na altura da oitava geração trouxe a AMD para uma distância reduzida face à Intel no que toca à performance de CPUs para jogos. Seria injusto referir que a AMD trouxe paridade, mas com o Zen 2 a aumentar ainda mais entre 10 a 15% o número de instruções por ciclo de relógio (IPC) sobre o já obtido no Zen e Zen+, a realidade é que o desafio é real. Seria igualmente injusto relegar o Jaguar para algo como desastroso no que toca à PS4 e Xbox One. Era o melhor que a AMD tinha na altura e que se adequava às características de performance e consumo de um APU monolítico. Possui processamento fora de ordem com suporte AVX, significando que para a altura era, pelo menos, relevante. Do seu lado, a AMD dedicou-se ao seu negócio de semi personalização, sendo que palavras recentes de Lisa Su dão a entender claramente que a AMD ainda está envolvida com a Microsoft e Sony nesse tipo de produção (algo confirmado do lado da Microsoft pela presença de Phil Spencer em palco na última apresentação AMD, e basicamente do lado da Sony pelos rumores da Navi, sucesso da PS4 e actividade dos seus engenheiros). A AMD comentou ainda que a parte da personalização continuará a ser parte fundamental da empresa no futuro que se segue, e que os contratos com ambas as empresas foram mexidos recentemente em 2018.
Uma análise à colocação de vagas para emprego dão a entender que pelo menos um dos designs personalizados da AMD estará em laboratório no primeiro quarto de 2019. Dado como assumido que a TSMC lançará ao consumidor produtos 7nm em 2019, o Zen 2 aparece na linha da frente para inclusão nas consolas de nova geração, saiam elas quando saírem. E há muito que é excitante. O desing Zen original aumentou o IPC em 50% sobre o Jaguar, o Zen + subiu isso em mais 5 ou 7% graças acima de tudo a melhorias nas caches. E se as previsões se mantiverem o Zen 2 ganhará ainda mais 10 a 15% em cima de tudo isso.
Sabemos que as velocidades de relógio não escalam tão bem a 7nm devido a desafios das interconexões, mas é quase seguro referir que 2.8 Ghz deverá ser a velocidade mínima de relógio dada a implementação no 2800E do Zen+ que está a essa velocidade num CPU de 8 núcleos com 16 Threads, com um TDP de 45 Watts. Escalar mais as velocidades de relógio poderia resultar num aumento linear de performance, mas retirando o design do “ponto de caramelo”. E isto é acima de tudo verdade dado onde queres estar no design de um APU: com o mesmo tipo de consumos da presente geração de consolas.
Automaticamente a ideia salta para uma configuração de 8 núcleos/16 threads (mantendo 4 núcleos por CCX) e isto porque já conhecemos um produto com esta configuração com 32MB de cache L3, num espaço de 70 mm^2. Isto seria 1/5 do espaço de uma PS4 ou Xbox original, deixando muito espaço para o GPU, controladores de memória e outros circuitos de input/output. Oito núcleos físicos também seria um caminho de maior facilidade de compatibilidade com o Jaguar de 8 núcleos. Depender de multi-threading simultâneo (SMT) pode complicar a coisa se se pretender compatibilidade, e para poupar 35 mm^2 no máximo, tal não parece vantajoso a longo prazo.
Mas a presença do SMT não deve ser ignorada. Com um pequeno aumento na área do silicone basicamente recebemos uma troca 1 para 1 na relação performance potência. Os “threads” extra podem muito bem ser colocados a uso em jogos e sistema operativo, especialmente em tarefas que não sejam criticas a nível de tempo. Aumentos na velocidade de relógio são outra perspectiva interessante dado que muitos jogos ainda adoram a performance num único “thread”. Se os criadores tivessem acesso a uma característica determinística de aumento das performances de um número de núcleos limitados, faria perfeito sentido.
Graças às entradas do compilador LLVM sabemos que a Sony está a trabalhar a fundo em fazer optimizações de compilação destinadas à arquitectura ZEN. Uma grande parte dos seus esforços está a ser gasta em optimizar operações de vectores (SEE, AVX, AVX2, AVX512), operações de manipulações de bits, e outras coisas que seria de esperar que optimizadores de baixo nível se centrem. Se olharmos com atenção vemos que estão tambem a trabalhar com ARM (arranque/background) e FreeBSD, o sistema operativo base da PS4/PS4. A AMD também está a colocar o seu peso aí.
Para quem está a re-verificar, sim, foi dito AVX512. A conjunto de extensões vectoriais tão falado em rumores e tão debatidos pela sua relevância em jogos apareceu em muitos registos que um engenheiro da Sony analisou ou submeteu. O Zen 2 foi anunciado como tendo o dobro da capacidade em virgula flutuante das arquitecturas Zen e Zen+, e isto deve-se a um aumento da capacidade de recepção de dados em bits. A AMD não comentou publicamente sobre se o Zen 2 suportará ou não o AVX512, mas presumivelmente irá faze-lo usando dois ciclos de relógio para executar uma instrução, tal como fazem agora com as operações AVX2 com uma largura de 128 bits no Zen e Zen+.
Será seguro assumir que tal será um beneficio para os programadores de videojogos. Será tambem um benefício dado que o emulador Open Source de PS3, o RPCS3 usa um conjunto de instruções AVX512 para ajudar a emular o processador Cell. E como a Sony já usou um emulador open source para a sua PS1 clássica, porque não ir buscar mais a esta fonte e despachar todos aqueles dispendiosos racks de PS3?
Vamos por as cartas na mesa e fazer algumas contas. Se o Zen representa um ganho de 50% no número de instruções por ciclo de relógio face ao Jaguar, e se o Zen 2 mete ainda mais 15% em cima disso, tudo o que falta fazer é escalar as velocidades de relógio de 1.6 para 2.8 Ghz para percebermos que os ganhos de performance deverão ser de 3X. E isto deve ser encarado pelo lado seguro pois as velocidades de relógio não devem ir abaixo disso e tudo o que tome partido do SMT irá ver ganhos de performance adicional, bem como qualquer trabalho com um peso significativo na virgula flutuante irá ver muito mais do que 15% de ganhos devido à “datapath” dupla do Zen. Tudo somado o ganho em performance de CPU deverá ser muito semelhante à vista entre a sexta e sétima geração de consolas, muito mais do que no pálido ganho entre a sétima e a oitava.
Uma vista do Infinity Fabric num CCX de 4 núcleos
Mark Cerny disse em tempos que um dos objectivos do design da PS4 era eliminar gargalos. Apesar de o Jaguar se ter conseguido portar muito bem na presente geração, a realidade é que ele está a reter a evolução dos jogos quando comparado com o PC. Um CPU com arquitectura Zen 2 no coração das próximas consolas seria um passo de gigante na rectificação dessa situação.
Quanto ao GPU ele é claramente uma das peças cujas especificações são mais relevantes numa consola, mesmo que a sua performance não seja critica para todos os aspectos da sua função técnica, ele é o ponto onde se focam todas as discussões sobre as capacidades da consola, e o usado para directamente informar os clientes da performance global da mesma. Nesse sentido no futuro a arquitectura Navi da AMD é um tópico em que muitos que estão a esperar pela próxima geração de consolas estão a focar o seu interesse .
Nesta altura temos de admitir que não se sabe muito sobre o Navi, mas vamos focar-nos no que se sabe. Sabe-se pelos mapas temporais (roadmaps) da AMD que o Navi será lançado na litografia de 7nm e será lançado em 2019. Sabe-se também que será um design monolítico e não um chiplet. Os pontos chave da sua arquitectura são a escalabilidade e o suporte de memória de próxima geração. E se próxima geração, pelos anúncios de trabalho da AMD, pode significar GDDR6, o conceito de escalabilidade está, para já, muito mais nebuloso.
Mas mais importante do que o que sabemos poderá ser o que não sabemos – A Navi será realmente ainda GCN? Numa dada altura a Navi parecia existir na arquitectura GCN, mas noticias mais recentes sugerem que ela é uma nova arquitectura. Dado o tempo que esteve em desenvolvimento e os rumores de elevada colaboração da Sony no seu desenvolvimento, é fácil perceber-se onde a narrativa acabaria. Mas no entanto esta situação parece conflituar com os últimos roadmaps conhecidos da AMD.
A tentativa de percepção do contexto da Navi levou muitos pensar no limite de 64 Compute Units do GCN, mas a AMD clarificou que tal não era o caso. No entanto as comparações de performance entre a Vega 56 e a Vega 64 mostram que há uma curva com retornos diminuídos para a arquitectura (basicamente os ganhos não crescem na mesma proporção nos limites superiores de CUs como nos inferiores). Se a Navi realmente estivesse limitada no mesmo tamanho e velocidades de relógio a sua performance máxima teórica seria entre 12 e 13 Tflops, assumindo que os cálculos aritméticos seriam essencialmente ditados pela sua herança GCN.
David Wang, da Radeon Technology Group também deu a conhecer que uma solução estilo Crossfire com múltiplos GPUs sofreria do mesmo tipo de problemas de performance que um sistema multi GPU tradicional, tornando este caminho pouco atractivo para a AMD, e em geral para as próximas consolas.
Ora se a Navi é um design CGN, não devemos à partida esperar um salto drástico das características e performances da Vega, pelo que é importante que se compreenda aquilo que distingue a Vega. Um Controlador de cache de alta largura de banda (HBCC) afirma lidar de forma inteligente com a a gestão da memória video (VRAM), impedindo frame buffers maiores do que o necessário. E isto é importante dado que os presentes títulos, a resoluções 4K, podem chegar a ter frame buffers de 11 GB.
No que toca aos primitive shaders. aqueles que são activados pelo próprio GPU geram as suas próprias chamadas de desenho (draw calls), potencialmente libertando o CPU. Algo comparável poderia ser os mesh shaders da arquitectura Nvidia Turing, mas dada a falta de documentação precisa é difícil comparar os dois.
O Draw-Stream Bit Rasterizing (DSBR) é algo que tenta tomar como emprestado algumas das vantagens do tiled rendering que se tornaram tão populares em aparelhos móveis ao descartar operações desnecessárias, melhorando a eficiência e o consumo energético. A Vega tambem possui Delta Color Compression (DCC) e Rapid Packed Math (RPM), sendo que ambos já estão presentes no GPU da PS4 PRO, sendo no entanto sub-utilizados. O RPM permite o uso de FP16 em operações de menor precisão, e pode dar aumentos de 10% ou mais em alguns casos.
A realidade é que há inúmeras alterações ao GCN desde que a PS4 e Xbox lançaram, e especialmente se tomarmos em conta que, apesar de alterações, os seus GPUS são GCN de primeira geração e o Vega é quinta geração. Daí ser importante ter uma perspectiva da evolução do GCN, nomeadamente aumentos de caches, melhorias de caches, integração do infinity fabric, avanços na voltagem e escalamento de frequências (AVFS), bem como o chamado clock-gating.
O grande problema da AMD nos GPUs existentes, e que não deverá acontecer com os modelos mais recentes a serem lançados em 2019 (caso da Radeon 7) é que grande parte destas características da VEGA foram lançadas com problemas, sendo que apenas algumas são utilizadas e mesmo assim apenas se forem especificamente chamadas. Muitas outras estão inutilizadas e sem suporte.
As boas notícias são que nas consolas a AMD pode rectificar todos estes problemas, e Microsoft e Sony podem trabalhar do seu lado para especificamente utilizar as características não utilizadas. É perfeitamente possível que muita da performance da Vega esteja na mesma dado os problemas nestas características, pelo que há certamente espaço para melhorias. E mais, ainda haverá muito que a Navi fará e que não se conhece, apesar que as patentes da AMD podem dar umas pistas.
Uma patente significativa muda a forma como os buffers de memória são alocados em sistemas heterogéneos (memória única e partilhada) que incluem múltiplos utilizadores de memória, tais como o CPU e GPU. A PS4 sabe-se que sofre uma penalização na largura de banda global disponível quando o CPU pede dados em paralelo com o GPU, algo que esta situação pode resolver. A AMD tem várias outras patentes especificas para sistemas HSA semelhantes a esta. Os CPUs ZEN podem usar até 50 GB/s de largura de banda só por si, o que torna esta questão crucial para a performance do sistema.
Particular interesse vai para a arquitectura “Super SIMD” que traz memórias da VLIW que precedeu o GCN. O Super SIMD parece uma situação radicalmente diferente dos atuais designs GCN pelo que poderá não ser vista no NAVI, mas apenas na próxima geração AMD, mas recorde-se que nada ainda sabemos da Navi. E esta é uma tecnologia a ter-se em conta!
Tanto Sony e Microsoft estão também a trabalhar neste campo gráfico, de forma independente. Várias patentes apareceram sobre mitigação do efeito de “tearing”, remoção de chamadas de desenho desnecessárias, “displacement directed tesselation”, shading a ritmos variados, compressão de saídas de vertex shaders, detecção de bandas de cor imprecisas e correcção das mesmas. Aliás o Mark Cerny orgulhosamente referiu que muitos dos conceitos da Sony foram colocados em arquitecturas de GPUs AMD.
Há rumores persistentes que a AMD dedicou recursos significativos ao desenvolvimento da arquitectura Navi, especificamente para uso da Sony (2/3 da equipa de pesquisa). Apesar de parecer sensacionalista, o histórico de colaboração da Sony com a AMD, tanto nos APUs da PS4 como da PS4 PRO levaram a que as alterações da Sony passassem a fazer parte do DNA do GCN, e a prova dos esforços patenteada nesta colaboração são um ponto forte para se acreditar nesta história. A AMD atravessava uma fase má e a secção de personalização de hardware foi central para o seu renascimento, sendo que os benefícios de que o PC pode beneficiar da optimização consola são atractivos para a marca.
CONTINUA