AMD fala da computação assincrona em shaders, e promete ganhos de performance. PS4 já a usou!

A AMD fala sobre as capacidades de computação assincrona das suas placas no cálculo de shaders, mostrando ganhos de performance com o seu uso de 46%.

A computação assíncrona é uma característica das placas AMD com arquitectura GCN e que apenas as mais recentes Maxwell v2 da Nvidia suportam (série 9xx).

Na computação assíncrona o GPU pode executar cálculo genérico em simultâneo com o cálculo gráfico, e foi algo apregoado por Mark Cerny na apresentação da Playstation 4 como uma das suas características principais. É igualmente algo que a Xbox One, apesar de menor capacidade no hardware (menos unidades ACE e CUs), está habilitada a fazer.

Dado que os pipelines do GPU nunca estão totalmente em uso, este tipo de computação usa as componentes paradas para irem processando outras situações, dando assim um uso mais eficiente da capacidade teórica de cálculo do GPU.

Ora a AMD fez recentemente uma apresentação onde mostrou os benefícios deste tipo de computação como auxiliar ao grafismo, usando-o para o cálculo de shaders. E nessa apresentação mostrou ganhos de 46% na performance.



AssincronaAMD

A computação assíncrona está disponível desde o DirectX 11, mas apenas com o DirectX 12 a mesma será usada em todo o seu potencial. Uma das novidades é o cálculo de shaders assincronos que permite o cálculo de shaders misturando o pipeline gráfico com o computacional.

Aqui a AMD faz referência às suas unidades ACE que analisam os comandos recebidos e os priorizam por ordem de necessidade, optimizando o processamento e analisando em que pipeline há capacidade de cálculo  disponível para os entregar.

Nos GPUs GCN mais recentes cada ACE pode receber até 8 comandos que coloca em fila, existindo um total de 8 unidades ACE, o que permite receber um total de 64 comandos de computação. Neste momento apenas as AMD R9-285 e R9-290 são possuem essas caracteristicas, sendo que nos restantes modelos são reduzidos nessa capacidade.

A Playstation 4 partilha essas caracteristicas com as placas mais recentes da AMD, ao passo que a Xbox One se encontra numa posição intermédia: Possui apenas duas unidades ACE, mas cada uma delas recebe 8 comandos. Uma melhoria face aos 2 comandos tradicionais do GCN, mas sem o aumento das unidades ACE.

Vamos listar as capacidades das diversas placas para que se perceba.



CAPACIDADE DE RECEPÇÃO DE COMANDOS
Modo Misto (gráficos + computação) Modo de computação pura Capacidade total de comandos de computação recebidos Capacidade total de recepção de comandos no hardware Motores DMA
NVIDIA Kepler GK10x (série 600 e 700) 1 gráfico 1 computação 1 1 1 Computação
NVIDIA Kepler GK110 (780 e Titan) 1 gráfico 32 computação 32 32 1 Computação
NVIDIA Maxwell 1 (série 750) 1 gráfico 32 computação 32 32 1 Computação
NVIDIA Maxwell 2 (série 900 e Titan X) 1 gráfico + 31 computação 32 computação 32 32 2 GraficosComputaçãoCópia
AMD GCN 1.0 (série 7000 e 200) 1 gráfico + 2 computação 2 computação por ACE com 2 ACE 4 4+1 2 GraficosComputaçãoCópia
AMD GCN 1.1 (série 260) 1 gráfico + 2 computação 2 computação por ACE com 2 ACE 4 4+1 2 GraficosComputaçãoCópia
Xbox One 2 gráficos + 8 computação 8 computação por ACE com 2 ACE 16 16+2 2 +Move Engines GraficosComputaçãoCópia
AMD GCN 1.1 (série 290) 1 gráfico + 8 computação 8 computação por ACE com 8 ACE 64 64+1 2 GraficosComputaçãoCópia
AMD GCN 1.2 (285) 1 gráfico + 8 computação 8 computação por ACE com 8 ACE 64 64+1 2 GraficosComputaçãoCópia
Playstation 4 2 gráficos + 8 computação 8 computação por ACE com 8 ACE 64 64+2 2 GraficosComputaçãoCópia

Apesar de o número de ACEs influenciar a performance da computação assincrona ao melhor optimizar todo o GPU, a AMD admite que 8 ACE não é uma obrigatoriedade para este tipo de processamento gráfico e que mesmo com apenas os 2 ACE com 2 comandos em espera já se conseguem resultados satisfatórios. Neste tipo de processamento gráfico as maiores vantagens dos 8 ACE com mais comandos em espera é a maior capacidade de recepção de comandos e como tal melhor optimização da ordem de processamento.

Nota 1: Parece assim que a escolha da Microsoft em apenas aumentar o número de comandos em espera, mantendo o número de ACE terá sido uma opção ponderada na relação qualidade/custo.

Nota 2: Os dois comandos gráficos da PS4 e da Xbox One devem-se à presença dos dois processadores de comandos gráficos.

Há contudo que ver que no futuro o GPGPU não estará limitado ao cálculo destes shaders, podendo ainda calcular outras situações em paralelo. E nessas situações o número de unidades ACE fará ainda mais diferença. No entanto a AMD trabalha em conjunto com a Microsoft para optimizar o melhor possível a computação para as gráficas com menos número destas unidades.

Os shaders assincronos, estes serão uma novidade para PC no DirectX 12, desconhecendo-se igualmente referências à sua existência no actual API da Xbox One. No entanto eles são suportados pelo Mantle e pelo GNM (o API da Playstation 4), assim como serão suportados pelo Vulkan.



Os jogos que já os usam são os seguintes:

Assincrona2AMD

Os ganhos no uso desta tecnologia são evidentes. Eis o exemplo da AMD.

Assincrona3AMD

Na imagem vemos um sistema a debitar 245 fps usando processamento gráfico normal. No entanto a imagem não possui qualquer pós processamento.



Com o uso de um pós processamento o débito de fps cai para 158 fps. Um impacto tremendo na performance! Mas com o uso de shaders assincronos, a performance sobe para os 230 fps. Um impacto reduzido face à performance inicial, e um ganho de performance de 46%.

Do exemplo só é pena a AMD não ter mostrado quando debitaria o sistema com os shader assincronos ligados e sem pós processamento. Seria uma excelente medida de referência.

Mas a grande vantagem no uso de maior numero de unidades ACE associados aos shaders assincronos surge com algo que a AMD aposta agora forte, e que a Sony tambem aposta. A realidade virtual!

Assincrona4AMD

A técnica possui tremendas vantagens para a realidade virtual. Permite minimizar latências, eliminar tremuras e saltos de imagem e pode ser usada em conjunto com outra computação genérica realizada no GPU que já possa estar a decorrer no jogo.



Eis um resumo das vantagens desta (e teóricamente de outras técnicas) associadas à computação assincrona.

Assincrona5AMD

O DirectX 12 está aí à porta, e muito sinceramente, a AMD parece partir para ele na linha da frente! A eficiência adicional que os shaders podem obter na AMD com este tipo de cálculo, associada à maior optimização das suas placas, e ao menor preço, tornam a AMD uma extraordinária escolha para o novo API. Um potencial que estava no entanto dormente pois o DX 11 não tirava verdadeiro partido destas potêncialidades.



error: Conteúdo protegido