Programadores começar a usar a caracteristica de “Rapid Math” ou 2xFP16 da AMD

A característica Rapid Packed Math ou 2xFP16 permite o cálculo de duas strings com 16 bits de precisão usando os mesmos recursos de uma única de 32 bits, e dobrando assim a capacidade de cálculo do GPU usando metade da precisão. Apesar de a característica não poder ser usada em todo o tipo de processamento os ganhos da mesma são inegáveis, e os programadores começam a explorar a mesma.

Apesar de não ter sido com o nome de “Rapid Packed Math”, mas sim de 2xFP16, certamente ouviram falar desta característica pela primeira vez quando se falou da PS4 Pro quando se referiu que com ela esta consola seria capaz de atingir uns teóricos 8,4 Tflops de performance gráfica.

Esta situação foi aliás abordada novamente mais recentemente quando soubemos que, por uma decisão pouco compreensível, a Microsoft optou por não colocar esta caracteristica na sua Xbox One X, levando a que se questionasse até que ponto a mesma, quando devidamente aplicada em todas as situações em que tal seja possível, não poderá cortar ou mesmo eliminar a vantagem de performance da Xbox One X sobre a PS4 Pro.

Esta característica não tem tido verdadeiro uso por ser completamente nova, e como tal os jogos não tiram partido dela, mas isso poderá vir a mudar no futuro com a necessidade de optimizações.

O primeiro exemplo do uso desta característica foi apresentada pela DICE que a usou no processamento do Checkerboard Rendering, tendo registado ganhos de 30% na performance. Eis o slide apresentado pela Dice que regista esse facto:



Antes de avançar, deixe-se claro que a Xbox One X tambem suporta precisão de 16 bits. O que não suporta é a “Rapid Math” ou 2xFP16, isto é, a capacidade de no mesmo ciclo onde se processaria uma instrução de 32 bits, se processar duas de 16 bits. Basicamente na Xbox One X processar um comando 32 bits ou 16 bits, usa o mesmo número de ciclos de relógio, ao passo que na PS4 Pro, as duas strings 16 bits são processadas no mesmo ciclo.

Ou seja, o que está na imagem de baixo:

Mas os FP 16 podem ser usados em mais do que no Checkerboard Rendering, havendo uma grande quantidade de situações em que as mesmas podem ser usadas. O 3D Mark Serra mostra alguns outros casos onde os ganhos são uma realidade.

Como se vê, há ali três exemplos com ganhos que variam entre os 20 e os 25%.

Torna-se dificil nesta fase prever até que ponto estes ganhos são significativos no global ou não, pois a realidade é que as percentagens dizem respeito não a ganhos globais, mas a ganhos em casos pontuais. Daí que o resultado final depende do número de casos abrangidos por este ganho, e do peso global que cada um desses processamento pontuais possuem no processamento global.

E isso quer dizer que não podemos comparar as percentagens directamente com a percentagem de diferença de performances entre a PS4 Pro e a Xbox One X.



Seja como for, esta metodologia está ainda a dar os seus primeiros passos, mas felizmente a um ritmo acelerado, pois jogos como Far Cry 5 e Wolfenstein II vão usar a caracteristica na PS4 Pro e no PC, apesar de que, nesta fase os ganhos ainda serão muito moderados (um dos jogos regista ganhos médios globais de 13%).

Mas a realidade é que há operações onde os ganhos do uso desta Rapid Packed Math chegam a atingir ou a passar os 100%. Eis dados reais:

Como vemos efeitos de Bloom, Ambient Oclusion como o o SSAO, ou Anti Aliasing como o FXAA chegam a ser 100% mais rápidos com o FP 16. Mas isto requer implementação específica que a maior parte dos jogos ainda não faz.

Os ganhos não se limitam apenas à performance, mas igualmente a ganhos na largura de banda. Eis um exemplo com shaders, onde o ganho foi de 15% na performance por cada CU, mas onde houve igualmente ganhos na largura de banda. Note-se que nesta caso o ganho não se deve ao uso do 2xFP16, mas sim apenas ao uso de FP 16 onde os FP 32 não se revelam necessários. Este ganho pode existir igualmente na Xbox One X, mas com o 2xFP16, este ganho deve duplicar.

Eis um dos exemplos onde o uso de 2xFP16 foi o maior mostrado até agora. Aqui não é um caso de se obter poupanças no processamento, mas de se conseguir muito melhores resultados com o mesmo processamento, apesar de que o mesmo pode ser conseguido com menos de metade do processamento.

Como se vê, o Rapid Math permite o cálculo de mais do dobro de fios de cabelo animados por segundo. Basicamente um melhor uso dos mesmos recursos, que com o mesmo nível de processamento permite calcular mais do dobro.

Falta agora é vermos um jogo devidamente optimizado para usar esta característica em todos os componentes onde a mesma pode ser usada, de forma a verificarmos os ganhos reais que a mesma pode vir a trazer. E só aí perceberemos até que ponto esta capacidade pode ou não trazer ganhos dignos de registo, sem perdas de qualidade. Mas uma coisa é certa, no global, esta característica, se usada, nunca permitirá que a diferença entre a Xbox One X e a PS4 Pro seja aquilo que a diferença de performances teóricas deixam antever. E ver os programadores a usarem a mesma no PC é um sinal que a sua adopção poderá ser mais rápida do que se pensava.



Posts Relacionados

  Subscribe  
newest oldest
Notify of
By-mission
Visitante
By-mission

Sendo exclusivo a PS4 PRO e meio difícil se ver algo otimizado para ela… Com exceção da Dice e dos exclusivos da PS4 a poucos jogos otimizados para a Pro, Gta 5 até hoje continua com bloqueio a 30 fps é nenhum mísero polígono a mais que a versão PS4 AMATEUR.. Vão me dizer que isto é perfumaria.. Bom o jogo é um remaster da versão PS3 e 360 e oferece exatamente as mesma experiência.. Então custava um upgrade a versão Pro.

Danilo Marciel
Visitante
Danilo Marciel

Cheirinho de SRAM do Xbox One no ar !

Era incrivel uma promessa uma memória mega rapida que programador nenhum soube usar e não passou de um grande erro !

Mesma com o 2XFP16 vai ser sempre teórico ninguem vai se interessar por por em pratica.

Netto
Visitante
Netto

Acredito que o problema da Sram sempre foi a quantidade dela, só 32mb por mais rápida que seja é muito pouco, o qu acabou se tornando em um gargalo, mesmo assim a Turn10 e Playground usaram uma técnica que visa driblar esse problema.
Quanto a técnica do artigo está bem fundamentada com jogos já usando, porém acredito que poucos estúdios usarão.

Fernando
Visitante
Fernando

Diferente, esram é só uma memória que precisa de uma utilização ou técnica específica para que não tenha impacto na resolução quando a capacidade de calculo ainda está sobrando, mas nada sobre aumentar capacidade de calculo de uma GPU. A diferença de resolução entre PS4 e Xone na maioria dos jogos se deve ao foto de um ter potência maior que o outro. Se ESRAM fosse um problema ou algo incontornável, jogos como Forza Horizon 3 a 1080p e 4x MSAA ou Gears of War 4 a 1080p, ambos com frame rate travado e configurações com quase todos os recursos iguais ao High do PC seriam impossíveis de existir.
2xfp16 é um verdadeiro aumento de capacidade de calculo mesmo, mas não vai igualar os jogos do PS4 Pro a versões do Xbox One X. O Xbox tem outras vantagens além de flops e não pode simplesmente dobrar ALU sem um aumento geral da GPU.
Mesmo que o PS4 conseguisse igualar o Xbox One X em resolução e frame rate, ainda haveria coisas melhores no X como texturas, alguns efeitos, anti-aliasing e outras coisas mais ligadas a quantidade de memória e largura de banda.
Takvez não seja evidente nos primeiros jogos, mas a tendência é que as diferenças visuais entre o Xbox One X e o PS4 sejam mais evidentes, sem precisar da digital foundry, do que a diferença entre Xbox One e PS4 originais.

Fernando
Visitante
Fernando

Assim como a propaganda da AMD falava de ganhos de 200% ou mais com Aync Compute e os resultados do mundo real são ganhos geralmente menores que 10% com excessão de tech demos, eu acho que os 30% que a DICE menciona seria no melhor dos mundos, igual o 50% do DX12 no Xbox que a Microsoft falou nas entrevistas e só aconteceu na Engine Forzatech.

Toda a apresentação da DICE foi para dizer que eles precisaram desse recurso e mais o checkerboarding rendering para alcançar 1800p na versão PS4 Pro de Battlefield 1, o que pra mim não é nem um pouco surpreendente uma vez que eles deveriam ter sido pelo menos capazes de alcançar 1800p nativos no PS4 Pro ja que o jogo roda em boa parte na casa dos 900p até no Xbox One.

By-mission
Visitante
By-mission

Mesmo nos benchmark as CPU AMD sempre sofrem com taxas altas de fps… Qualquer coisa acima dos 80fps dos já se torna sofrível (face aos Intel), mesmo que qualquer carga extra de CPU possa ser mínima o Jaguar tem uma performance muito escassa… Então qualquer aumento de resolução tem impacto também na CPU… Não digo que será um botleneck na Xbox One X, mas de fato o é na PS4PRO por isso os 1800p ser um alvo tão difícil e nem com os mesmos features da PS4 normal (medio e low).

Leonardo
Visitante
Leonardo

Fiquei curioso para saber como será na prática o uso dessa técnica 2xFP16… saiu o F1 2017 que já faz o uso dela, alguém leu algum artigo técnico sobre o jogo em questão e quais os ganhos?

Fernando
Visitante
Fernando

Na Eurogamer inglesa tem algo falando sobre o jogo no Xbox One X, e basicamente o FP16 se fez diferença, é por que o PS4 Pro realmente é deficitário. O jogo usa CB rendering no PS4 Pro e 4K nativos no Xbox One X.

Leonardo
Visitante
Leonardo

No PlayStation.Blog cita que os shaders das pistas receberam um upgrade graças a essa técnica. Acho que estamos ainda no início do seu uso e ainda temos espaço para algumas melhorias, mais o F1 2017 já mostra um belo começo.