Nvidia RT Cores vs. AMD Ray Accelerators - Explicação

Com a primeira geração de placas de vídeo RTX em 2018, a Nvidia apresentou ao mundo um novo recurso que deveria mudar o cenário dos jogos como os conhecemos. A primeira geração de placas gráficas da série RTX 2000 foi baseada na nova arquitetura Turing e trouxe suporte para Ray Tracing em tempo real em jogos. Ray Tracing já existia em animação 3D profissional e campos sintéticos, mas a Nvidia trouxe suporte para renderização em tempo real de jogos usando a tecnologia Ray Tracing em vez da rasterização tradicional que deveria mudar o jogo. Rasterização é a técnica tradicional por meio da qual os jogos são renderizados, enquanto o Ray Tracing usa cálculos complexos para descrever com precisão como a luz interagiria e se comportaria no ambiente do jogo como faria na vida real. Você pode aprender mais sobre Ray Tracing e Rasterização neste conteúdo .



O Ray Tracing Reflections pode ser a aplicação mais atraente do Ray Tracing em jogos - Imagem: Nvidia

Em 2018, a AMD não tinha resposta para a série de placas gráficas RTX da Nvidia e sua funcionalidade Ray Tracing. O Red Team simplesmente não estava pronto para o lançamento inovador da Nvidia, e isso colocou suas melhores ofertas em uma desvantagem significativa em comparação ao Team Green. A AMD RX 5700 XT foi uma placa de vídeo fantástica pelo preço de $ 399, que rivalizava com o desempenho da RTX 2070 Super de $ 499. O maior problema para a AMD, porém, era o fato de que a concorrência oferecia uma tecnologia que eles não possuíam. Isso, juntamente com o conjunto diversificado de recursos, suporte DLSS, drivers estáveis ​​e desempenho geral superior, colocam as ofertas da Nvidia em uma vantagem significativa quando se trata da geração Turing vs RDNA.



AMD RX 6000 series com Ray Tracing

Avance para 2020 e a AMD finalmente trouxe a luta para as ofertas principais da Nvidia. A AMD não apenas introduziu suporte para Real-Time Ray Tracing em jogos, mas também lançou 3 placas de vídeo que são extremamente competitivas em relação às melhores placas de vídeo da Nvidia. O AMD RX 6800, o RX 6800 XT e o RX 6900 XT estão batalhando frente a frente com a Nvidia RTX 3070, RTX 3080 e RTX 3090 respectivamente. A AMD finalmente está novamente competitiva no topo da lista de produtos, o que também é uma notícia promissora para os consumidores.



Raytracing é um dos principais recursos que a AMD introduziu nesta geração - Imagem: AMD



No entanto, as coisas também não são totalmente positivas para a AMD. Embora a AMD tenha introduzido suporte para Real-Time Ray Tracing em jogos, seu desempenho de Ray Tracing teve uma recepção morna tanto dos analistas quanto dos consumidores em geral. É compreensível, pois esta é a primeira tentativa da AMD de Ray Tracing, então seria um pouco injusto esperar que eles entregassem o melhor desempenho de Ray Tracing disponível em sua primeira tentativa. No entanto, isso levanta questões sobre a forma como a implementação de Ray Tracing da AMD funciona quando comparada à implementação da Nvidia que vimos com o Turing e agora a arquitetura Ampere.

Conjunto de tecnologias RTX da Nvidia

A principal razão pela qual a tentativa da AMD parece ser nada assombrosa em comparação com a da Nvidia é que a AMD estava essencialmente tentando recuperar o atraso com a Nvidia e tinha mais ou menos apenas 2 anos para desenvolver e aperfeiçoar sua implementação de Ray Tracing. A Nvidia, por outro lado, tem desenvolvido essa tecnologia há muito mais tempo, pois não tinha ninguém com quem competir no topo da pilha de produtos. A Nvidia não apenas forneceu suporte a Ray Tracing antes da AMD, mas também teve um ecossistema de suporte melhor construído em torno da tecnologia.

A Nvidia projetou sua série RTX 2000 de placas gráficas com Ray Tracing como o foco principal. Isso é evidente em todo o design da própria arquitetura de Turing. A Nvidia não apenas multiplicou o número de núcleos CUDA, mas também adicionou núcleos específicos de Ray Tracing, conhecidos como “RT Cores”, que lidam com a maior parte dos cálculos necessários para o Ray Tracing. A Nvidia também desenvolveu uma tecnologia conhecida como “Deep Learning Super Sampling ou DLSS” que é uma tecnologia fantástica que usa deep learning e IA para realizar tarefas de upscaling e reconstrução e também compensar a perda de desempenho do Ray Tracing. A Nvidia também introduziu “núcleos tensores” dedicados nas placas da série GeForce que são projetadas para ajudar no aprendizado profundo e tarefas de IA, como DLSS. Além disso, a Nvidia também trabalhou com estúdios de jogos para otimizar os próximos jogos Ray Tracing para o hardware dedicado da Nvidia de forma que o desempenho possa ser maximizado.



Em Ray Tracing, a luz se comporta no jogo como se fosse na vida real - Imagem: Nvidia

Nvidia’s RT Cores

RT ou Ray Tracing Cores são núcleos de hardware dedicados da Nvidia que são especificamente projetados para lidar com a carga de trabalho computacional associada ao Real-Time Ray Tracing em jogos. Ter núcleos especializados para Ray Tracing diminui a carga de trabalho dos núcleos CUDA que são dedicados à renderização padrão em jogos para que o desempenho não seja muito afetado pela saturação da utilização do núcleo. Os RT Cores sacrificam a versatilidade e implementam hardware com uma arquitetura especial para cálculos ou algoritmos especiais para atingir velocidades mais rápidas.

Os algoritmos de aceleração de Ray Tracing mais comuns que são comumente conhecidos são BVH e Ray Packet Tracing e o diagrama esquemático da arquitetura de Turing também menciona BVH (Bounding Volume Hierarchy) Transversal. O RT Core é projetado para identificar e acelerar os comandos que pertencem à renderização Ray Traced em jogos.

The RT Core explicado - Imagem: Nvidia

De acordo com o ex-arquiteto sênior de GPU da Nvidia, Yubo Zhang:

“[Traduzido] O núcleo RT essencialmente adiciona um pipeline dedicado (ASIC) ao SM para calcular a interseção do raio e do triângulo. Ele pode acessar o BVH e configurar alguns buffers L0 para reduzir o atraso do acesso aos dados do BVH e do triângulo. A solicitação é feita pela SM. A instrução é emitida e o resultado é retornado ao registro local do SM. A instrução intercalada e outras instruções aritméticas ou de memória IO podem ser concorrentes. Por ser uma lógica de circuito específico de ASIC, o desempenho / mm2 pode ser aumentado em uma ordem de magnitude em comparação com o uso do código de sombreador para cálculo de interseção. Embora eu tenha deixado o NV, estive envolvido no projeto da arquitetura de Turing. Fui responsável pela coloração de taxa variável. Estou animado para ver o lançamento agora. ”

A Nvidia também declara no White Paper da Arquitetura de Turing que os RT Cores trabalham em conjunto com filtragem avançada de eliminação de ruído, uma estrutura de aceleração BVH altamente eficiente desenvolvida pela NVIDIA Research e APIs compatíveis com RTX para obter rastreamento de raio em tempo real em uma única GPU Turing. Os RT Cores atravessam o BVH de forma autônoma e, ao acelerar os testes de travessia e de interseção de raio / triângulo, eles descarregam o SM, permitindo que ele lide com outro vértice, pixel e trabalho de sombreamento de computação. Funções como construção e recondicionamento de BVH são gerenciadas pelo driver, e geração de raios e sombreamento são gerenciados pelo aplicativo por meio de novos tipos de sombreadores. Isso libera as unidades SM para fazer outro trabalho gráfico e computacional.

Aceleradores Ray da AMD

A AMD entrou na corrida Ray Tracing com sua série RX 6000 e, com isso, eles também introduziram alguns elementos-chave para o projeto arquitetônico do RDNA 2 que ajudam com esse recurso. Para melhorar o desempenho de Ray Tracing das GPUs RDNA 2 da AMD, a AMD incorporou um componente Ray Accelerator em seu projeto de unidade de computação principal. Esses Ray Accelerators devem aumentar a eficiência das unidades de computação padrão nas cargas de trabalho computacionais relacionadas ao Ray Tracing.

O mecanismo por trás do funcionamento dos Ray Accelerators ainda é relativamente vago, entretanto a AMD forneceu algumas dicas sobre como esses elementos deveriam funcionar. De acordo com a AMD, esses Aceleradores de raio têm o propósito expresso de atravessar a estrutura da Hierarquia de volume limitado (BVH) e determinar com eficiência as interseções entre os raios e as caixas (e, eventualmente, os triângulos). O design é totalmente compatível com DirectX Ray Tracing (Microsoft's DXR), que é o padrão da indústria para jogos de PC. Além disso, a AMD utiliza um denoiser baseado em computação para limpar os efeitos especulares de cenas de traçado de raio em vez de depender de hardware desenvolvido para esse fim. Isso provavelmente colocará pressão extra nos recursos de precisão mista das novas unidades de computação.

Explicação dos Ray Accelerators - Imagem: AMD

Os Ray Accelerators também são capazes de processar quatro interseções de caixa de volume limitado ou uma interseção de triângulo por segundo, o que é muito mais rápido do que renderizar uma cena Ray Traced sem hardware dedicado. Há uma grande vantagem na abordagem da AMD que é que os aceleradores RT do RDNA 2 podem interagir com o cache infinito da placa. É possível armazenar um grande número de estruturas de volume limitado simultaneamente no cache, para que alguma carga possa ser retirada do gerenciamento de dados e das células de leitura de memória.

Diferença Chave

A maior diferença que é imediatamente óbvia ao comparar os RT Cores e os Ray Accelerators é que, embora ambos executem suas funções de forma bastante semelhante, os RT Cores são núcleos de hardware separados e dedicados que têm uma função única, enquanto os Ray Accelerators fazem parte a estrutura padrão da unidade de computação na arquitetura RDNA 2. Além disso, os RT Cores da Nvidia estão em sua segunda geração com Ampere, com muitas melhorias técnicas e arquitetônicas sob o capô. Isso torna a implementação do RT Core da Nvidia um método Ray Tracing muito mais eficiente e poderoso do que a implementação da AMD com os Ray Accelerators.

Como há um único Ray Accelerator integrado em cada unidade de computação, o AMD RX 6900 XT tem 80 Ray Accelerators, o 6800 XT tem 72 Ray Accelerators e o RX 6800 tem 60 Ray Accelerators. Esses números não são diretamente comparáveis ​​aos números do RT Core da Nvidia, uma vez que são núcleos dedicados construídos com uma única função em mente. O RTX 3090 obtém 82 2ndNúcleos Gen RT, o RTX 3080 obtém 60 2ndGen RT Cores e o RTX 3070 obtém 46 2ndGen RT Cores. A Nvidia também tem núcleos tensores separados em todas essas placas que ajudam no aprendizado de máquina e aplicativos de IA como DLSS, sobre os quais você pode aprender mais neste artigo .

Há um Ray Accelerator integrado em cada unidade de computação no RDNA 2 - Imagem: AMD

Otimização Futura

É difícil dizer neste momento o que o futuro reserva no Ray Tracing para Nvidia e AMD, mas pode-se fazer algumas suposições, analisando a situação atual. No momento em que este artigo foi escrito, a Nvidia detém uma liderança bastante significativa no desempenho do Ray Tracing quando comparada diretamente às ofertas da AMD. Embora a AMD tenha feito um começo impressionante para RT, eles ainda estão 2 anos atrás da Nvidia em termos de pesquisa, desenvolvimento, suporte e otimização. A Nvidia travou a maioria dos títulos Ray Tracing agora em 2020 para usar o hardware dedicado da Nvidia melhor do que o que a AMD criou. Isso, combinado com o fato de que os núcleos RT da Nvidia são mais maduros e mais poderosos do que os aceleradores Ray da AMD, coloca a AMD em desvantagem quando se trata da situação atual de Ray Tracing.

No entanto, a AMD definitivamente não pára por aqui. A AMD já anunciou que está trabalhando em uma alternativa AMD para DLSS, que é uma grande ajuda para melhorar o desempenho do Ray Tracing. A AMD também está trabalhando com estúdios de jogos para otimizar os próximos jogos para seu hardware, o que mostra em títulos como GodFall e Dirt 5, onde as placas da série RX 6000 da AMD têm um desempenho surpreendentemente bom. Portanto, podemos esperar que o suporte Ray Tracing da AMD fique cada vez melhor com os próximos títulos e o desenvolvimento de tecnologias como a Alternativa DLSS.

Com isso dito, no momento em que este livro foi escrito, o RTX Suite da Nvidia é muito poderoso para ser ignorado por qualquer pessoa que procura um desempenho de Ray Tracing sério. Nossa recomendação padrão será a nova série RTX 3000 de placas gráficas da Nvidia sobre a série RX 6000 da AMD para quem considera o Ray Tracing um fator importante na decisão de compra. Isso pode e deve mudar com as ofertas futuras da AMD, bem como melhorias nos drivers e na otimização do jogo com o passar do tempo.

Próximos jogos que suportam RTX e DLSS - Imagem: Nvidia

Palavras Finais

A AMD finalmente saltou no cenário do Ray Tracing com a introdução de sua série RX 6000 de placas gráficas baseadas na arquitetura RDNA 2. Embora eles não superem as placas da série RTX 3000 da Nvidia em benchmarks diretos de Ray Tracing, as ofertas da AMD oferecem desempenho de rasterização extremamente competitivo e valor impressionante que pode atrair jogadores que não se importam tanto com Ray Tracing. No entanto, a AMD está no caminho certo para melhorar o desempenho do Ray Tracing com várias etapas importantes em rápida sucessão.

A abordagem adotada pela Nvidia e AMD para Ray Tracing é bastante semelhante, mas ambas as empresas usam técnicas de hardware diferentes para fazer isso. Os testes iniciais mostraram que os núcleos RT dedicados da Nvidia superam os aceleradores de raio da AMD que são integrados às próprias unidades de computação. Isso pode não ser uma grande preocupação para o usuário final, mas é uma coisa importante a se considerar para o futuro, uma vez que os desenvolvedores de jogos agora enfrentam a decisão de otimizar seus recursos de RT para uma das abordagens.