O título de cima não é uma afirmação, mas sim uma crença após análise à documentação do RDNA 4.0.
Uma das questões que deixei no ar quando da análise as especificações da PS5 Pro foi como é que a Sony chegou a um valor de 300 Tops para IA como indicado nos documentos.
A questão é que as contas basicamente não batiam certo pois mesmo com 60 CUs a 2450 MHz o valor máximo que obtemos para processamento a 8 bits são 150 Tops, o que é metade do indicado.
Nós podemos chegar aos Tops usando duas formas distintas:
Formula 1
Pelos Tflops:
60 CU * 64 Stream Processors * 2 instruções por ciclo * 2450 Mhz * 2 intruções adicionais por ciclo do RDNA 3 e superiores. = 37,632 Tflops a 32 bits
Ora 37,6 Tflops a 32 bits, processandoduas strings de 16 bits de cada vez em vez de uma de 32 dá 37,6*2 ou 75,264 Tflops a 16 bits.
A 8 bits, e retirando a virgula flutuante por falta de precisão, temos o dobro disso, ou 150,5 Tops. Metade dos 300 Tops anunciados.
Formula 2
Pelas especificações da AMD
A tabela indica que do RDNA 1.1 para cima o GPU consegue fazer 512 ops por ciclo.
Quantas ALUs, que a 8 bits podemos chamar de AI accelerators existem no RDNA?
O site 4gamer.net (É japonês, mas podem traduzir), deixa claro isso na seguinte frase no seu enorme texto:
Each CU is equipped with two AI Accelerators
2 ALus ou aceleradores de AI por CU. Ora vamos então fazer contas.
Isto a 32 bits dá:
128 ops por ciclo * 2 Alus * 60 CU * 2450 Mhz = 37.632 Tflops ou 37,6 Tflops
A 8 bits temos_
512 ops por ciclo * 2 AI accelerators * 60 CU * 2450 Mhz = 150,5 Tops.
Basicamente, para chegarmos aos 300o GPU teria de debitar o dobro. Será que isso acontece no RDNA 4?
A resposta a essa questãos parece existir na documentação do RDNA 4. Eis o que lá refere:
Examining AMD’s RDNA 4 Changes in LLVM
RDNA 4 carries these instructions forward with improvements to efficiency, and adds instructions to support 8-bit floating point formats.
Aqui o que lemos é que o RDNA 4.0 traz um suporte nativo ao processamento 8 bits. Isto implica uma séria re-estruturação deste processamento.
Mas o texto continua referindo:
AMD has also added an instruction where B is a 16×32 matrix with INT4 elements instead of 16×16 as in other instructions
O texto de cima não aparenta ter nada a ver com processamento 8 bits, mas repare-se que na realidade a matriz B duplica de tamanho, processando 2 strings de 4 bits de cada vez, o que mostra a relevância que a AMD coloca no processamento 8 Bits do RDNA 4.0.
Mas a grande, grande novidade, que nos explica o que pretendemos é a introdução do SWMMAC.
RDNA 4 introduces new SWMMAC (Sparse Wave Matrix Multiply Accumulate) instructions to take advantage of sparsity.
O nome só por sí é curioso pois sparsity traduzido refere-se a escassez. Ou seja, estamos a falar aqui de algo reduzido
Vamos ver mais:
SWMMAC similarly does a C += A * B operation, but A is a sparse matrix stored in half of B’s size.
Ora cá temos, a metodologia de escassez permite matrizes com metade dimensão das usadas anteriormente.
E é aqui que, sem conhecer em pleno a realidade do RDNA me atrevo a acreditar que, a partir do momento que esta arquitetura consegue usar metade da dimensão das matrizes WMMA do RDNA 3.0, esta possa conseguir um aumento de performance de 2x face ao conseguido no RDNA 3, e assim dobrando a capacidade de processamento de 8 e 4 bits no RDNA 2.
Se assim for, vamos refazer as contas de cima, mas apenas para 8 bits:
512 ops * 2 Aceleradores de IA* 2 operações pela metodologia de escassez * 60 CU * 2450 Mhhz = 301 Tops, ou os referidos 300 tops se trabalhamos sempre apenas com uma casa decimal.
Há na Net um mistério sobre como a Sony vai conseguir 300 Tops… Mas esse mistério poderá estar aqui resolvido…
Desculpa minha ignorância, Mário, mas isso quer dizer que serão 300Tops de 4 bits ou de 8 bits? Pelo visto também os 300Tops serão de todo o sistema e não trarão nenhum processamento adicional como por vezes se conjecturou…
8 bits… Para IA genérica é 8 bits.
E os 300 Tops são apenas do GPU como explica o artigo.
Isto é algo que, sinceramente, acho uma pequena aldrabice. Porque uma coisa é teres 300 Tops à parte, outra é no GPU. Isso quer dizer que na realidade os Tops que tens são apenas o que resta do processamento após se tratar o grafismo. E isso é bem diferente do que a NVIDIA oferece, onde os Tops são à parte.
Mario, como isso se compara as nvidias rtx 4000?
A comparação é mais com as RTX 3000, com 300 Tops a ser algo na casa do que a 3080 Ti apresenta.
A série 4000 já sobe isso para os 800 tops, pelo que é claramente superior.
Mas a questão é que a NVIDIA alcança isso usando tensor cores, que são algo à parte do GPU, pelo que o processamento do GPU não afeta forçosamente a performance disponível para IA.
Já nas AMD, se este valor for conseguido como me parece que é, ele é um mero show off sem grandes consequências, e por dois motivos.
1 – O primeiro é que os 37,6 TFLOPS são RDNA 3, e consequentemente, na prática eles devem ser algo real na casa dos 22 TFLOPS. E isso quer dizer que os Tops reais também deverão ser algo na casa dos 175 e não 300. Agora ressalvo que se há ambiente onde se pode explorar a duplicacão de processamento do RDNA 3 é nas consolas, pelo que se há potencial para se alcançar o valor máximo teórico, é certamente aqui. Quem sabe este valor não vai muito acima do esperado e se aproxima mesmo do máximo teórico, nem que seja nos jogos first party.
2 – Os tops da NVIDIA são quase independentes do processamento gráfico. Aqui não, o que quer dizer que se o GPU estiver ocupado, o que resta de tops para IA é apenas o processamento que não está em uso. Devo porém ressalvar que aqui posso estar enganado e por um motivo. Basicamente a NVIDIA não processa Ray Tracing no seu processamento gráfico, usando os tensor cores para isso. A AMD processa o RT juntamente com o pipeline gráfico. Ora isso acaba por ser exatamente o mesmo que temos aqui com a IA, implicando que a performance disponível da AMD para RT acaba por ser, teóricamente bem inferior à da NVIDIA. E na prática, o que vemos é que, apesar de menores performances, os GPUs AMD portam-se muito bem, especialmente em ambiente consolas, onde os 10,28 TFLOPS da PS5 requerem por vezes uma 3080 com 29,77 tflops para serem passados. Nesse sentido tenho de ressalvar, para não cair nos mesmos erros da DF, que a minha análise é baseada no conhecimento do PC, mas que uma consola não é um PC, tendo um nível de optimização superior, e APIs e compiladores próprios bem mais capazes.
Nesse sentido, para uma resposta realmente correta à tua questão, teremos de ver exemplos reais.
O RDNA4 vai vir com um baita aumento de RT juntamente com o lançamento do PS5 PRO
Segundo os rumores recentes… dá para supor que a AMD no negocio de GPUs está muito voltada a colaboração com a Sony.
Recentemente surgiram documentos que parecem comprovar algo que foi dito antes e 2020, que o RDNA aparentemente foi mesmo desenvolvido em colaboração com a Sony.
Se eu não estou enganado o GCN, arquitetura anterior, tinha sido desenvolvido em conjunto com a Apple
Acho que é ganha ganha para a AMD, mantém uma equipe enxuta para fazer GPUs e se associa com alguém grande para ajudar o desenvolvimento.