RDNA 2 é uma microarquitetura de GPU projetada pela AMD, lançada com a série Radeon RX 6000 em 18 de novembro de 2020. Além de alimentar a série RX 6000, RDNA 2 também é apresentado nos SoCs projetados pela AMD para consolas PlayStation 5 e Xbox Series X/S.
Background
Em 7 de julho de 2019, a AMD lançou a primeira iteração da microarquitetura RDNA, uma nova arquitetura gráfica projetada especificamente para jogos que substituiu a antiga microarquitetura Graphics Core Next (GCN). Com o RDNA, a AMD procurou reduzir a latência e melhorar a eficiência energética em relação à sua série Vega anterior baseada na 5ª geração GCN e na microarquitetura Turing concorrente da Nvidia.[1]
O RDNA 2 foi anunciado publicamente pela primeira vez em janeiro de 2020, com a AMD inicialmente chamando o RDNA 2 de uma "atualização" da arquitetura RDNA original do ano anterior.[2] No Dia dos Analistas Financeiros da AMD, realizado em 5 de março de 2020, a AMD mostrou um roteiro de GPU cliente que dava detalhes sobre o sucessor do RDNA, RDNA 2, que seria novamente construído usando o processo de 7 nm da TSMC e seria lançado em 2020.[3] A AMD disse a seus investidores que pretendia um aumento de 50% no desempenho por watt e aumentou o IPC com a microarquitetura RDNA 2.[4]
Em 28 de outubro de 2020, a AMD realizou um evento online de inauguração da arquitetura RDNA 2 e da série Radeon RX 6000.[5][6] O evento aconteceu 20 dias após o evento de lançamento da AMD para os processadores da série Ryzen 5000 construídos na microarquitetura Zen 3.
Detalhes arquitetônicos
Unidade de computação
RDNA 2 contém um aumento significativo no número de unidades de computação (CUs) com um máximo de 80, uma duplicação do máximo de 40 na Radeon RX 5700 XT.[1] Cada unidade de computação contém 64 núcleos de shader.[7] As CUs são organizadas em grupos de dois processadores de grupo de trabalho nomeados com 32 KB de cache L0 compartilhado por WGP. Cada CU contém dois conjuntos de uma unidade vetorial SIMD32, uma unidade escalar SISD, unidades de texturas e uma pilha de vários caches.[8] Novos tipos de dados de baixa precisão, como INT4 e INT8, são novos tipos de dados suportados para CUs RDNA 2.[8]
O pipeline gráfico RDNA 2 foi reconfigurado e reordenado para maior desempenho por watt e renderização mais eficiente, movendo os caches para mais perto dos mecanismos de sombreamento. Um novo modelo de shaders de malha permite que a renderização de shaders seja feita em paralelo usando lotes menores de primitivos chamados "meshlets". Como resultado, o recurso mesh shaders permite maior controle do pipeline de geometria da GPU.[9]
Ray tracing
O ray tracing acelerado por hardware em tempo real é um novo recurso do RDNA 2 que é gerenciado por um acelerador de raios dedicado dentro de cada CU.[10] O Ray Tracing no RDNA 2 depende do protocolo DirectX Raytracing, mais aberto, em vez do protocolo Nvidia RTX.[11]
Em fevereiro de 2023, foi relatado que as atualizações de driver aumentaram o desempenho do ray tracing em até 40% usando DirectX Raytracing.[12]
Clock speeds
Com o RDNA 2 usando o mesmo nó de 7 nm do RDNA, a AMD afirma que o RDNA 2 atinge um aumento de frequência de 30% em relação ao seu antecessor, usando a mesma potência.[13]
Subsistema de cache e memória
Além dos tradicionais caches L1 e L2 que as GPUs possuem, o RDNA 2 adiciona um novo cache L3 global que a AMD chama de “Infinity Cache”.[14] A AMD afirma que os 128 MB de Infinity Cache on-die do RDNA 2 "reduzem drasticamente a latência e o consumo de energia".[15] A GPU tendo acesso a um grande cache L2 ou L3 permite acessar mais rapidamente os dados necessários em comparação com o acesso à VRAM ou RAM do sistema. O Infinity Cache é composto por dois conjuntos de cache de 64 MB que podem funcionar em sua própria frequência, independente dos núcleos da GPU. O Infinity Cache tem uma largura de banda de transferência interna máxima de 1.986,6 GB/s e resulta em menos dependência dos controladores GDDR6 da GPU.[8] Cada Shader Engine agora possui dois conjuntos de caches L1. O grande cache das GPUs RDNA 2 proporciona uma largura de banda de memória geral maior em comparação com as GPUs da série GeForce RTX 30 da Nvidia.
Eficiência energética
A AMD afirma que o RDNA 2 atinge um aumento de até 54% no desempenho por watt em relação à primeira microarquitetura RDNA.[15] 21% dessa melhoria de 54% é atribuída a melhorias de desempenho por clock, em parte devido à adição do Infinity Cache.[16]
Mecanismo de mídia
O RDNA 2 usa os blocos de decodificação de vídeo VCN 3.0, VCN 3.1, e VCN 3.1.2 em seu mecanismo de mídia.[17][18] Ele adiciona suporte para decodificação AV1 com resolução de até 8K, embora o suporte de codificação de hardware AV1 não viria até RDNA 3 em 2022.[19][20] No entanto, o die Navi 24 de baixo custo não contém quaisquer codificadores de mídia e, como resultado, não pode decodificar AV1.[17]
↑ abcValores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento da textura é calculada como o número de Unidades de mapeamento de textura multiplicado pela velocidade básica (ou boost) do clock do núcleo.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.
↑ abcValores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento da textura é calculada como o número de Unidades de mapeamento de textura multiplicado pela velocidade básica (ou boost) do clock do núcleo.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.
↑ abcValores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento da textura é calculada como o número de Unidades de mapeamento de textura multiplicado pela velocidade básica (ou boost) do clock do núcleo.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.
↑ abcValores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento da textura é calculada como o número de Unidades de mapeamento de textura multiplicado pela velocidade básica (ou boost) do clock do núcleo.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.
↑ abcValores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento da textura é calculada como o número de Unidades de mapeamento de textura multiplicado pela velocidade básica (ou boost) do clock do núcleo.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.
↑ abcBoost values (if available) are stated below the base value in italic.
↑Valores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.
↑ abcValores de boost (se disponíveis) são indicados abaixo do valor base em itálico.
↑A taxa de preenchimento da textura é calculada como o número de Unidades de mapeamento de textura multiplicado pela velocidade básica (ou boost) do clock do núcleo.
↑A taxa de preenchimento de pixel é calculada como o número de Unidades de saída de renderização multiplicado pela velocidade de clock base (ou boost) do núcleo.
↑O desempenho de precisão é calculado a partir da velocidade básica (ou boost) do clock do núcleo com base em uma operação FMA.