A real importância dos Tflops. Quando estes são uma boa medida e quando deixam de o ser.

O artigo que se segue é explicativo do que realmente é medido pelos Tflops, e como eles podem não ser um bom exemplo de performance.

Quando em 2013 analisamos as performances entre a Xbox One e a PS4 os Tflops surgiram à baila. Um termo que se calhar nem todos conheciam, mas que nos dias que correm entrou nas nossas vidas.

E actualmente é comum, pelo menos quando se fala de consolas, comparar as mesmas olhando para o numero de Tflops que estas debitam, afirmando que a que possui mais, é a mais capaz!

Mas na realidade isso não é sempre assim! E convêm que se perceba o porque!

E o motivo é simples. Os Tflops medem a potência máxima teórica… não medem a performance!



Naturalmente neste momento já haverá quem esteja a dizer… mas que valente treta.

Mas na realidade, se houver quem pense assim, é puramente ignorante e desconhecedor da realidade. Porque facilmente podemos ver que, não só isso é verdade, como temos imensos casos que o comprovam.

Um bom exemplo, que será familiar a quase todos, aparece imediatamente quando comparamos os GPUs AMD com os Nvidia. Os GPUs AMD possuem por norma com mais Flops que os Nvidia, e apesar de recentemente o RDNA ter aproximado as performances das duas marcas, a realidade é que durante muitos anos, a Nvidia, mesmo com menos Flops, sempre teve vantagem de performance.

O motivo era esse. Os Flops mediam a potência teórica de cada GPU, não a sua performance real. E aqui estamos perante duas arquitecturas diferentes, com rendimentos internos diferentes. Daí que apesar de mais potentes, isso não se traduzia em mais performance. E tal é super relevante para o que pretendemos que se perceba aqui, pois este é um caso onde o menos potência… acaba por ser mais performance!

Mas há muitos mais exemplos de casos deste género. Imaginem possuem um poderoso i7, mas querem com ele ler um filme codificado em HEVC com resolução 4K e HDR.

Ah pois… queriam… Mas não dá! O i7, apesar de potente, cheio de Ghz e de Flops que tanto dinheiro custou não consegue descodificar filmes 4K HEVC HDR sem a ajuda do GPU…



Mas curiosamente os leitores de BD UHD, muitos deles custando bastante menos que o vosso i7, usando um pequeno chip a 600 Mhz com uma performance em Flops ridicula, é capaz de ler isso com uma perna às costas!

Aqui a diferença acontece por estarmos perante um processador dedicado. Um ASIC, um chip optimizado e criado especificamente para aquele tipo de tarefa, e praticamente inútil em outras. Mas a sua optimização permite-lhe superar um outro processador genérico bem mais poderoso. Comparativamente, a Nível de GFlops, não tendo agora valores exactos presentes, digo apenas que estamos a comparar amendoins com melões, ou seja valores ridículos, com valores relativamente grandes.

Mas mesmo assim os amendoins levam a vantagem.

É mais um caso onde menos potência representa mais performance!

Então, perante isto, em que caso é que os Tflops nos servem? Em que casos é que os Tflops podem ser comparados e nos dizer qual dos sistemas tem melhores performances.



Basicamente há três premissas que se tornam necessário cumprir:

  1. Os sistemas necessitam de possuir hardware com arquitecturas iguais ou bastante semelhantes.
  2. As estruturas de processamento necessitam de ser iguais. Isto implica que os sistemas possuem o mesmo número de unidades de processamento, por norma um CPU e um GPU.
  3. As capacidades de processamento são iguais. Ou seja, nenhum dos sistemas possui tecnologias que o outro não possui, e que possam acelerar o processamento.

E isto é muito relevante que se perceba. Porque isto foi o que aconteceu na geração passada, e o motivo pelo qual as comparações eram funcionais. E mais potência, equivalia-se a mais performance!

Ambos os sistemas usavam processadores Jaguar e GPUs GCN de gerações aproximadas, cumprindo com o ponto 1.

Ambos os sistemas possuíam um GPU, um CPU, e um DSP para o audio, cumprindo assim com o ponto 2.

Ambos os sistemas possuíam basicamente as mesmas capacidades de processamento, com os GPUs a suportarem as mesmas tecnologias.



Perante isto comparávamos os Tflops do GPU e CPU, sendo que esse valor já toma em conta o número de núcleos e a velocidade de relógio. E comparávamos. E dessa forma era possível ver-se que os Tflops podiam comparar os sistemas.

Mas mesmo assim haviam pontos que desequilibravam as coisas e a verdade dos Tflops. Por exemplo, o DSP audio da Xbox era mais potente e capaz, pelo que a fazerem a mesma coisa, as performances da PS4 iriam sofrer.
Mas por outro lado a PS4 possuía mais unidades ACE que lhe simplificava a distribuição de tarefas no GPGPU, o que lhe dava alguma vantagem. Para além disso, as larguras de banda da Xbox eram mais dadas a gargalos, dando igualmente vantagem à PS4.

Ou seja, a realidade dos Tflops era adulterada por estas coisas. Mesmo na anterior geração, as diferenças de performances nem sempre eram exactamente aquelas para que os Tflops apontavam. E os motivos eram os de cima.

Agora que perceberam isso, vamos à questão que todos querem colocar: Será que vamos poder usar os Tflops para comparar as consolas que ai vem?

A realidade é que não sabemos. Eventualmente sim… ou eventualmente não!



Caso as consolas da Sony e Microsoft cumpram com os três pontos de cima, ou seja, usem a mesma arquitectura, metodologias de funcionamento iguais, e capacidades de processamento iguais, isso acontecerá. Mas se isso se alterar de uma forma significativa… os Tflops deixam de ser funcionais como unidade de medição.

Vamos ver então um caso onde os Tflops serão válidos:

  • Sony e Microsoft ambos usam arquitectura o RDNA 2 como arquitectura e CPUs Zen 2.
  • Ambas se apoiam no Ray Tracing da AMD
  • As capacidades de processamento iguais, ou seja, não há qualquer tecnologia numa das consolas que possa alterar de forma significativa as performances face à outra.

Mas agora imaginemos um caso que tem surgido como hipotese.

Que a Sony terá 9.2 Tflops RDNA 1, e usará um chip externo para o cálculo do RT.

Podemos comparar estes Tflops com os 12 da Microsoft com o seu GPU RDNA 2 e dizer que a solução da Microsoft é 30% superior a nível de performances?



Na realidade… não! Ela tem efectivamente mais 30% de Tflops, mas nada podemos dizer quanto à performance.

E porque?

Para começar o RDNA 2 pode ter melhorias de rendimento, pelo que as performances podem melhorar face ao RDNA 1, mesmo mantendo a diferença de Tflops.

Mas num caso como esse, o RDNA 1 pode estar personalizado, e anular essas vantagens, ao integrar as novidades, sem no entanto passar a ser RDNA 2.

Mas quer aconteça um caso ou o outro, mesmo assim, os Tflops não nos dizem nada!



E porque?

Porque há aqui um elemento novo. Um elemento que anula o ponto 2 dos quesitos para a comparação dos Tflops ser válida. A introdução de uma unidade de processamento extra na consola da Sony.

Este elemento altera a estrutura x86 face ao apresentado pela consola da Microsoft. Basicamente a estrutura de processamento, um dos elementos necessários para que a potência medida pelos Flops se equivalha à performance deixa de ser semelhante, e consequentemente os Tflops deixam de nos dar a realidade da performance.

Eles passam a medir a potência e eventual performance dos GPUs em rasterização, mas não de todo o sistema com os processadores todos em uso, ou seja, com o uso de Ray Tracing!

A questão é que, com o Ray Tracing activo, algo que se tornará um standard que daqui para a frente a consola da Microsoft teria de o processar distribuindo a sua performance do GPU, os seus 12 Tflops, no processamento de rasterização, e também no processamento do Ray Tracing. Já os 9.2 Tflops da Sony apenas processariam rasterização, pois o Ray Tracing ficaria a cargo do ASIC auxiliar.



Qual dos dois sairia com mais performance? É quase impossível de ser dito. Tudo dependeria da performance do ASIC da Sony, e ao mesmo tempo do uso do GPU para processamento Ray Tracing do lado da Microsoft. Basicamente entrariamos num campo onde, a nível de performance, a indicação da potência dada pelos Tflops não nos diz nada. E poderíamos ter mais diferença de performance do que a potência indica, ou menos diferença de performance do que a potência indica.

Num caso igualmente perfeitamente possível, a potência pode até revelar-se inversamente proporcional à performance, ou seja, o sistema com mais potencia, ser mais lento que o com menos potência. E dado que o uso de recursos do sistema é diferente, tudo ficaria em aberto !

Se alguem ainda não percebeu o que foi explicado, dou outro exemplo mais terra a terra. Imaginemos um serviço de entregas feito por duas motas potentes, e um outro feito com uma mota potente e duas lambretas. As motas tem mais potência, mas as duas lambretas  apesar de menos capazes podem dividir o trabalho, cada uma fazendo uma entrega. Fica assim a dúvida sobre se a mota consegue entregar dois pacotes mais depressa que as lambretas, ou se as duas lambretas superam a mota. É isso que teriamos aqui, duas unidades de processamento contra três. Os Tflops apenas comparavam a mota com a primeira lambreta, mas isso ignorava a existência da segunda lambreta.

E isto é algo que muitos dos nossos leitores não aparentam compreender. É certo que estamos aqui a teorizar, baseado em rumores, um mero possível hardware da Sony, que não podemos dar como real, mas também é certo que se a solução fosse essa, a diferença de performance entre as consolas não seria garantidamente a que os Tflops indicava. Podia até ser essa mesma, mas podia ser maior ou menor, ou até ter-mos o caso da solução da Sony ter melhores performances. Tudo ficava em aberto e só quando vissemos como o hardware se comportava perante casos reais é que poderíamos saber quem levava a melhor!

Os Tflops seriam assim uma redundância sem importância nenhuma para a comparação da performance dos dois sistemas. Uma situação bem oposta à que ocorreu na actual geração!



Tal não invalidaria que em processamento de rasterização puro, os Tflops continuariam válidos e a diferença seria de 30% a favor da consola da Microsoft. Mas com o Ray Tracing activo, algo que será standard nos jogos AAA da próxima geração, e que a Sony poderia forçar na sua consola com livrarias, ferramentas e processos de automatização do RT, mesmo que básico, os Tflops seriam um “flop” a medir as performances.

Agora não posso terminar este artigo sem responder à questão que todos estão a colocar. E se tal fosse o caso, qual acho que seria a consola que levava vantagem?

Sinceramente… não sei. Apenas posso dizer que o que tem sido dito é que as performances das consolas são basicamente semelhantes, pelo que acredito que uma coisa compensará a outra. Se isto é verdade ou mentira… não sei dizer!

Dados concretos é que a RTX 2080 TI a 1440p perde 40% da performance. Dado que esse é um GPU de 13,5 Tflops, falamos de 5,4 Tflops de impacto na Performance.

Igualmente dados concretos, a AMD refere nos seus slides que o RDNA 2 suportará a aceleração em “apenas efeitos selecionados”.



As dúvidas sobre a real performance da solução AMD, que terá de funcionar a pelo menos 4K 60 fps, é assim natural. Terá a AMD superado, e em muito os RT cores da Nvidia? E farão todo o tipo de efeitos, ao contrário do que diz o roadmap?

Nesse sentido, uma solução externa, não só liberta mais o GPU, como oferece performance paralela e eventualmente mais suporte. Mas claro, falta saber que solução existiria na PS5 caso esta realmente existisse.

A realidade é só uma. Numa situação destas somente testes de mundo real poderiam avaliar a performance. E os Tflops não diriam nada.

Existe claro a situação em que o RT não existe nos jogos, e aí a Microsoft poderia realmente ter vantagem e poderiamos entrar num caso de 4K nativos vs 4K checkerboard, mas não mais do que isso. Basta ver como a 2800 TI e a 2800 normal se comportam com uma diferença superior a esta.



Recorde-se porém que isto é tudo baseado num hardware teórico. Na realidade nada sabemos sobre a consola da Sony.

 

 

 

 

 



error: Conteúdo protegido