A Revolução Gráfica: GPUs da Série RTX 3000 da NVIDIA
Em 1º de setembro de 2020, a NVIDIA apresentou ao mundo sua nova linha de placas de vídeo para jogos, a série RTX 3000, que se baseia na arquitetura Ampere. Vamos explorar as novidades, o software de inteligência artificial que as acompanha e todos os detalhes que tornam esta geração notável.
As Estrelas da Série RTX 3000
O anúncio principal da NVIDIA foi a revelação de suas novas e potentes GPUs, todas construídas utilizando um processo de fabricação de 8 nm personalizado. Estas placas prometem grandes melhorias no desempenho de rasterização e ray tracing.
Na extremidade mais acessível da linha, encontramos a RTX 3070, com um preço inicial de US$ 499. Apesar de ser a placa mais econômica da nova série, ela representa uma excelente opção, já que supera a RTX 2080 Ti, uma placa de ponta que custava mais de US$ 1400. Após o anúncio, o mercado secundário viu uma queda nos preços da 2080 Ti, com muitas sendo vendidas no eBay por valores abaixo de US$ 600.
Como não foram apresentados benchmarks sólidos no anúncio, ainda não está claro se a RTX 3070 é realmente “superior” à 2080 Ti, ou se a NVIDIA está utilizando uma estratégia de marketing. Os testes apresentados foram em resolução 4K, com ray tracing ativado, o que pode inflar a diferença de desempenho em relação a jogos puramente rasterizados. No entanto, a série 3000 baseada em Ampere apresenta um desempenho duas vezes melhor em ray tracing quando comparada à geração anterior. Com o ray tracing agora sendo uma tecnologia que não impacta tanto o desempenho e que também está presente nos consoles da nova geração, é uma grande vantagem ter uma placa que o executa tão bem quanto o carro-chefe da geração anterior, mas por um terço do preço.
É importante ressaltar que o preço da RTX 3070 pode não se manter o mesmo, já que os modelos de terceiros costumam adicionar pelo menos US$ 50 ao valor, e a alta demanda pode elevar seu preço para cerca de US$ 600.
Subindo na hierarquia, temos a RTX 3080, com um preço de US$ 699, que promete ser duas vezes mais rápida que a RTX 2080 e cerca de 25 a 30% mais rápida que a 3070.
No topo da linha, encontramos a nova placa de vídeo carro-chefe, a RTX 3090, que é extremamente grande. A NVIDIA a apelidou de “BFGPU”, abreviação de “Big Ferocious GPU”.
A NVIDIA não divulgou números de desempenho precisos, mas demonstrou a RTX 3090 rodando jogos em 8K a 60 FPS, o que é impressionante. É provável que a NVIDIA esteja usando o DLSS para atingir essa marca, mas jogar em 8K é sempre uma conquista notável.
Eventualmente, modelos mais acessíveis como a RTX 3060 e outras variações serão lançadas, mas isso costuma ocorrer mais tarde.
Para manter as altas temperaturas sob controle, a NVIDIA redesenhou o sistema de resfriamento. A RTX 3080 tem uma classificação de 320 watts, o que exige um resfriamento eficaz. A NVIDIA optou por um design com duas ventoinhas. Em vez de ambas serem posicionadas na parte inferior da placa, uma delas foi movida para a parte superior, onde geralmente fica a placa traseira. Essa ventoinha direciona o ar para cima, em direção ao cooler do processador e ao topo do gabinete.
Dado o impacto do fluxo de ar no desempenho, essa mudança faz sentido. No entanto, o layout do circuito é bastante compacto devido a isso, o que pode afetar os preços de venda de terceiros.
DLSS: A Vantagem do Software
O ray tracing não é a única vantagem dessas novas placas. Na realidade, essa tecnologia ainda é um tanto “artificial” – as séries RTX 2000 e 3000 não são muito melhores em ray tracing do que as placas mais antigas. Renderizar uma cena completa em um software 3D como o Blender geralmente leva alguns segundos ou até minutos por quadro, então forçar essa renderização em menos de 10 milissegundos está fora de cogitação.
Apesar de existirem hardwares dedicados para cálculos de raios, conhecidos como núcleos RT, a NVIDIA optou por uma abordagem diferente. A empresa aprimorou os algoritmos de redução de ruído, permitindo que as GPUs renderizem uma única passagem que parece ruim e a transforme, magicamente por meio da inteligência artificial, em algo de qualidade visual. Essa tecnologia, combinada com técnicas tradicionais de rasterização, proporciona uma experiência aprimorada por efeitos de ray tracing.
Para acelerar esse processo, a NVIDIA adicionou núcleos de processamento específicos de IA, chamados de núcleos Tensor. Eles processam a matemática necessária para executar modelos de aprendizado de máquina rapidamente. Eles são um avanço para a IA no espaço de servidores em nuvem, dado o uso difundido de IA por diversas empresas.
Além da redução de ruído, a principal utilização dos núcleos Tensor para jogadores é o DLSS (deep learning super sampling). Essa tecnologia pega um quadro de baixa qualidade e o aprimora para a qualidade nativa. Isso permite que você jogue com taxas de quadros de nível 1080p e visualize uma imagem em 4K.
O DLSS também melhora o desempenho do ray tracing. Testes do PCMag mostraram uma RTX 2080 Super rodando Control com todas as configurações de ray tracing no máximo, apresentando apenas 19 FPS em 4K. Com o DLSS ativado, esse número subiu para 54 FPS. O DLSS é um ganho de desempenho gratuito para a NVIDIA, graças aos núcleos Tensor presentes nas arquiteturas Turing e Ampere. Qualquer jogo que suporte a tecnologia e esteja limitado pela GPU pode apresentar grandes melhorias de desempenho.
O DLSS não é uma novidade, pois foi apresentado quando a série RTX 2000 foi lançada há dois anos. Naquela época, poucos jogos o suportavam, pois era necessário que a NVIDIA treinasse e ajustasse um modelo de aprendizado de máquina para cada jogo individualmente.
No entanto, a NVIDIA reescreveu completamente o DLSS, chamando a nova versão de DLSS 2.0. Essa é uma API de uso geral, o que significa que qualquer desenvolvedor pode implementá-la, e já está sendo adotada pela maioria dos grandes lançamentos. Em vez de operar em um quadro único, o DLSS 2.0 recebe dados vetoriais de movimento do quadro anterior, de forma semelhante ao TAA. O resultado é muito mais nítido do que o DLSS 1.0 e, em alguns casos, parece melhor do que a resolução nativa, o que elimina muitos motivos para não usá-lo.
Ainda existe uma desvantagem: ao trocar de cenas rapidamente, como em cutscenes, o DLSS 2.0 precisa renderizar o primeiro quadro com 50% da qualidade, enquanto espera pelos dados do vetor de movimento. Isso pode causar uma pequena queda na qualidade por alguns milissegundos. Mas, 99% de tudo que você vê será renderizado corretamente, e a maioria das pessoas não percebe isso na prática.
Arquitetura Ampere: Construída para IA
Ampere é rápida. Muito rápida, especialmente em cálculos de IA. O núcleo RT é 1,7 vezes mais rápido que o Turing, e o novo núcleo Tensor é 2,7 vezes mais rápido. A combinação dos dois representa um grande salto geracional no desempenho do ray tracing.
Em maio, a NVIDIA lançou a GPU Ampere A100, uma GPU para data centers projetada para executar IA. Com isso, eles revelaram os detalhes que tornam a arquitetura Ampere tão rápida. Para cargas de trabalho de data center e computação de alto desempenho, a Ampere é cerca de 1,7 vezes mais rápida que a Turing. Para treinamento de IA, essa diferença chega a 6 vezes.
Com a Ampere, a NVIDIA está usando um novo formato numérico projetado para substituir o padrão “Floating-Point 32”, ou FP32, em algumas cargas de trabalho. Cada número processado pelo computador ocupa um número predefinido de bits na memória (8 bits, 16 bits, 32, 64 ou mais). Números maiores são mais difíceis de processar, então, se você puder usar um tamanho menor, terá menos coisas para processar.
O FP32 armazena um número decimal de 32 bits e usa 8 bits para o intervalo do número e 23 bits para precisão. A NVIDIA argumenta que esses 23 bits de precisão não são totalmente necessários para diversas cargas de trabalho de IA, e que é possível obter resultados semelhantes e um desempenho superior com apenas 10. Reduzir o tamanho para apenas 19 bits, em vez de 32, faz uma grande diferença em muitos cálculos.
Esse novo formato é chamado de Tensor Float 32, e os núcleos Tensor na A100 são otimizados para lidar com esse tamanho incomum. Isso, juntamente com a redução dos tamanhos das matrizes e o aumento da contagem de núcleos, contribui para a melhoria de 6x no treinamento de IA.
Além do novo formato numérico, a Ampere apresenta grandes aumentos de desempenho em cálculos específicos, como FP32 e FP64. Isso não resulta diretamente em mais FPS para o consumidor final, mas faz parte do que torna a arquitetura quase três vezes mais rápida em operações do Tensor.
Para acelerar ainda mais os cálculos, a NVIDIA introduziu o conceito de esparsidade estruturada de grão fino, que é uma forma elegante de descrever um conceito relativamente simples. As redes neurais trabalham com grandes listas de números, chamadas de pesos, que afetam a saída final. Quanto mais números a serem processados, mais lento o processo se torna.
No entanto, nem todos esses números são realmente úteis. Alguns deles são zero e podem ser descartados, levando a grandes acelerações quando você pode processar mais números ao mesmo tempo. A esparsidade essencialmente comprime os números, o que exige menos esforço para fazer cálculos. O novo “Sparse Tensor Core” foi projetado para operar em dados compactados.
Apesar das mudanças, a NVIDIA afirma que isso não deve afetar a precisão dos modelos treinados.
Para cálculos do Sparse INT8, um dos menores formatos numéricos, o desempenho máximo de uma única GPU A100 é superior a 1,25 PetaFLOPs, um número incrivelmente alto. É claro que isso ocorre ao processar um tipo específico de número, mas ainda assim é impressionante.