Ryzen: CPUs a caminho da computação de alta performance otimizada

A AMD lança este mês a CPU Ryzen 9 3950X, com 16 núcleos e 32 filas de processamento. O computador desktop de hoje é praticamente um super computador dentro de casa!

 

Neste mês de setembro de 2019 a AMD estará lançamento a sua última versão da CPU Ryzen, o modelo Ryzen 9 3950X, com nada menos do que 16 núcleos de processamento e 32 linhas (“threads”) de execução de códigos. Este lançamento marca, entre outras coisas, o aumento do potencial já demonstrado nesta linha de processadores, chegando a níveis que nem os analistas de plantão no YouTube e arredores conseguiram prever.

O que eu pessoalmente acho mais impressionante é que esta plataforma foi introduzida no início do ano passado, e passou (ainda passa na realidade) por solavancos de incompatibilidade com módulos de memória, derivados das diversas versões dos microcódigos AGESA, formulados pela AMD e implementados nos firmwares das placas mãe.

Cada modelo de chipset tem o seu próprio código AGESA. O usuário não pode atualizá-lo diretamente, terá que esperar a liberação do firmware (BIOS) pelo fabricante.

E isso revelou-se uma grande dor de cabeça. No ano passado, a minha Crosshair VI Hero (chipset X370), com processador Ryzen 7 1800X e memória G.Skill Trident Z de 3200 MHz, só teve o microcódigo AGESA acertado cerca de 10 meses após o lançamento daquela placa!

E agora, eu estou passando exatamente pelos mesmos problemas, quando eu atualizei o bios da Crosshair VII Hero (chipset X470). O erro consiste em colocar a memória em overclock (XMP) e a partir daí a partida a frio faz a placa desligar, religar, resumir o POST, e só então rodar o sistema operacional.

Eu já comuniquei novamente o problema para a Asus da América, que chegou a pedir um vídeo mostrando o duplo boot que acontece toda vez que a placa faz o autoteste (POST ou Power On Self Test) a frio. Se eu mantiver a placa mãe energizada, o duplo boot desaparece.

O duplo boot não existia no bios que veio com a placa, mas a rotina de POST era insuportavelmente lenta, a ponto de o monitor entrar em modo de espera (standby). As atualizações de bios, uma a uma até chegar ao release atual, seguiram um protocolo enviado pelo suporte da Asus, que eu executei à risca. Mas, como as atualizações foram feitas sem que o computador desligasse totalmente, eu fiquei sem saber em que versão de bios o problema do duplo boot com a memória apareceu. Na prática, pouco importa, porque o erro vai ter que ser corrigido por quem escreve o bios, tal como no ano passado.

Para fins de feedback ao suporte americano, eu anotei os valores dos clocks (batimentos) finais dos módulos de memória (“Timings”) e fiz uma tabela com cada ajuste do “Ai Overclock Tuner” disponível na placa mãe:

 

Ai Overclock Tuner DRAM Speed (MHz) Timings (BIOS) Timings (CPU-Z) POST
DOCP Standard 3200 16-18-18-18-38-74 16-18-18-38-74 Dual
Auto/Default 2400 17-17-17-17-39-56 17-17-17-39-56 Normal
Auto/Default 3200 18-22-22-22-52-74 18-22-22-52-74 Normal

 

Atualmente eu uso um banco de memória aprovado pela Asus para este modelo de placa: um kit G.Skill F4-3200-C16D-16GFX, cujos acertos de fábrica para overclock (XMP) são: 16-18-18-38-56, de modo a atingir 3200 MHz, como mostra a captura abaixo:

 

 

O ajuste automático de overclock da memória nesta placa chama-se D.O.C.P., que é a versão AMD do XMP da Intel. Como se vê na tabela acima, este ajuste D.O.C.P. Standard passa perto dos ajustes XMP da memória, mas não é preciso. E só será preciso quando os microcódigos AGESA forem acertados, como aconteceu no ano passado.

O kit da G.Skill citado acima vai a 3200 MHz em overclock e 2400 MHz se o perfil JEDEC (default), também chamado de “Stock”, for usado. E neste caso, a placa mãe irá dar partida direto, sem conflito com o banco de memória. Eu ainda consegui ajustar manualmente o clock da memória para 3200 MHz (sem o D.O.C.P.), mas com um sacrifício considerável nos valores dos “Timings”.

Tudo isso nos fazer crer que para usufruir ao máximo os novos processadores, muita coisa ainda precisará ser feita ou aprendida pelos fabricantes de placas.

As origens da super computação

O conceito de computação de alta performance saiu dos super computadores para o ambiente doméstico, graças às novas microarquiteturas das novas CPUs. No caso específico da AMD, o ajuste foi incorporado no bios UEFI das placas mães mais recentes, com o nome de High Performance Computing (HPC). Ele só foi possível com a introdução de processadores com um maior número de núcleos, que interagem entre si.

Cada núcleo desses se comporta como uma CPU independente, e as suas limitações são as mesmas de uma CPU convencional. A diferença de performance obtida com uma CPU com múltiplos núcleos é que esta consegue dividir tarefas e assim processar códigos com maior rapidez, semelhante a um super computador de proporções limitadas.

O número de filas disponíveis para o processamento de códigos que cada núcleo possui está geralmente em torno de dois, mas nos processadores mais recentes a maneira como eles trabalham vem ficando cada vez mais sofisticada, como por exemplo, o não compartilhamento entre os núcleos dos barramentos de memória, dando assim autonomia da CPU no processamento das filas.

Em última análise, a introdução da computação de alta performance (HPC) nas placas atuais aumenta o poder de processamento de uma única CPU (no passado existiam placas com espaço para duas), sem que o usuário precise fazer doutorado em informática.

O que mudou com as Ryzen de segunda geração?

A habilitação anterior da computação de alta performance (HPC) desapareceu dos firmwares atuais, sendo substituída por outros ajustes. Se nada for feito, e o usuário deixar a placa mãe em ajustes default, ainda assim a alta performance irá funcionar, mesmo que em valores abaixo dos limites do sistema.

As Ryzen de segunda geração e posteriores, numeradas em cada modelo começando com o número 2 e 3, receberam um tratamento diferenciado com uso de inteligência artificial no controle dos parâmetros que limitam a performance das CPUs.

Cada CPU Ryzen tem uma capacidade elétrica distinta, independente do seu modelo. E ela interage com a placa mãe, que impõe a ela limitações que não as permitem ir além de suas capacidades. Na prática, isto significa que uma vez uma dada CPU instalada em um dado modelo de placa mãe, ela poderá ter a sua performance restrita àquela placa, ou seja, não seria possível generalizar as limitações dos sistemas e os seus ajustes de performance otimizada.

A solução na adaptação placa mãe – CPU foi aplicar inteligência artificial. E o mais recente uso deste tipo de algoritmo é um recurso chamado pela AMD de “Precision Boost Overdrive”. Uma vez habilitado este recurso ele controla os três principais limitadores de velocidade da CPU, que são:

SoC Power (Potência do sistema no chip): é o número de Watts que a CPU pode drenar dentre os disponíveis na placa mãe ao aumentar o batimento.

VRM Current (Corrente das VRM): é a quantidade de ampères que os controladores de tensão (VRM ou Voltage Regulator Module) são capazes de entegar para a CPU quando o batimento (clock) aumenta de valor.

Temperatura (Temp): o aumento de velocidade da CPU implica no aumento de temperatura, a qual, se excessiva, pode desestabilizar ou desligar o sistema, para que a CPU não queime.

O que o Precision Boost Overdrive faz é ir até os limites destes três parâmetros, respeitando os limites das tolerâncias entre CPU e placa mãe. A AMD ilustra este ajuste para o usuário usando um triângulo com esses limitadores. O antes e depois diagramático mostrado abaixo descreve como o Precision Boost Overdrive (PBO) pode aumentar os limites de performance com rapidez e sem riscos ao sistema:

 

E habilitei o PBO na minha placa atual, e posso confirmar que a aceleração da velocidade dos núcleos é real e consistente, frente ao aumento de carga do processamento.

Os ajustes dos limites passam transparentes para o usuário convencional, mas podem ser medidos por diversos aplicativos. Pequenas variações de velocidade, ocorridas dinamicamente, são praticamente imperceptíveis, até mesmo para o usuário atento.

Como a ativação do recurso irá implicar em um aumento de temperatura significativo toda vez que a CPU acelera, a AMD recomenda que se use um bom sistema de arrefecimento de calor! Para sorte dos usuários os atuais super processadores da AMD tem um TDP relativamente baixo e a sua aceleração contornável com a maioria dos coolers disponíveis, incluindo aqueles fornecidos juntos com o processador.

O aumento da computação de dados implica em programas escritos para tal

Não basta somente aperfeiçoar o funcionamento das CPUs, é preciso modificar as rotinas dos programas demandantes, para que os mesmos façam uso dos recursos da máquina.

Tal modificação já existe há algum tempo naqueles aplicativos dotados de aceleração de hardware disponível. Em programas bem escritos a instalação dos mesmos já detecta se o conjunto CPU – memória – adaptador de vídeo está previsto para funcionar desta maneira. E em outros casos, as opções de funcionamento permitem ao usuário fazer o mesmo com as CPUs isoladamente.

Eis aí um exemplo com o uso do navegador Firefox, encontrado nas opções de ajuste:

Com o aumento da capacidade de processamento e com o uso de periféricos capazes de fazer frente a este aumento, como uma boa placa de vídeo (GPU), um banco de memória adequado, ter um super computador dentro de casa é um sonho inimaginável anos atrás.

Os novos processadores AMD usam um recurso chamado de Infinity Fabric. O IF é um sofisticado sistema de interligação entre componentes, permitindo à CPU melhor dispor dos recursos da placa mãe disponíveis, em particular da qualidade da memória instalada.

A evolução dos sistemas

Quem me dera ser um especialista neste assunto, para poder melhor esclarecer o leitor. Infelizmente, não sou. Mas, como qualquer usuário que monta os seus próprios sistemas, eu posso pelo menos dizer como um deles se integra a mim no dia-a-dia:

Quando se chega ao ponto de se perceber que os componentes instalados (CPU, GPU, DRAM, etc.) fazem a aceleração de hardware com grande proficiência e dentro de parâmetros que impedem que potenciais defeitos possam surgir em decorrência do uso fora das especificações de fábrica, cessa a procura de valores de aceleração por uma miríade de ajustes inexpugnáveis ao usuário convencional.

Para o leitor que não me conhece, eu sou obrigado a esclarecer que comecei a aprender informática no final da década de 1970, porque queria aumentar o grau de confiança no processamento de dados obtidos no laboratório.

Isso depois evoluiu com programação, porque me ensinaram que é preciso saber escrever um programa para se conseguir obter funções que ainda não estavam disponíveis, no meu caso aplicativos para cálculos de estatística. Naquela época se achava alguns bons livros com algoritmos importantes de bioestatística, mas eu tive respaldo de um colega que conhecia estatística a fundo (não era o meu caso) e com a colaboração dele eu escrevia o que fosse preciso.

A coisa funcionava assim: este meu colega me dizia como desenvolver o cálculo e eu bolava um algoritmo que permitisse entrar com os dados da experiência e conseguir imprimir ou exibir os resultados pretendidos.

Tudo isso perdeu o sentido com a evolução comercial dos aplicativos científicos. Programas como GraphPad Prism, por exemplo, que já deixavam tudo prontinho para inclusive fazer publicações em periódicos. Eu usei, por anos a fio, um aplicativo chamado de SigmaStat, que usa inteligência artificial para análise dos dados e para a indicação do melhor método comparativo. Mais fácil impossível, ideal para neófitos no assunto, como eu!

Tem horas que eu fico imaginando até onde a informática vai chegar. Todo esse poder dos novos processadores não pode, e não deve, na minha opinião, ficar à mercê dos interessados em jogos de computador. Bem que a indústria insiste em dirigir seus esforços nesse sentido, mas é sempre bom lembrar que o uso do computador começou exatamente quando as pessoas mais esclarecidas quiseram vencer seus empecilhos na área da ciência.

A explosão da microinformática coincidiu na minha trajetória de vida com o momento em que eu busquei recursos semelhantes. Até então, os cálculos de métodos de estatística eram “facilitados” com o uso de calculadoras de bolso, instrumento dos mais inconfiáveis e inadequados que eu conheci para este tipo de uso.

O computador me deu controle em tarefas as quais eu nunca tive capacidade para dominá-las. Então, tudo o que me veio à frente foi muito mais do que útil.

Olhando hoje a competição entre AMD e Intel, e vendo a primeira introduzir uma nova CPU mais poderosa que a outra, na expectativa de conquistar espaço e prestígio no mercado que ela nunca teve, eu tenho a sensação de que a minha existência como usuário chegou ao fim, porque o que eu rodo, e com a velocidade absurda do meu sistema atual (processador Ryzen 7 2700X, chipset X470), eu não preciso de mais nada novo.

E, finalmente, me pergunto se a nova CPU Ryzen 9, que vai ser lançada, irá acrescentar algo de novo que nós ainda não sabemos. Chegamos ao nível próximo dos super computadores, programas convencionais simplesmente aparecem na tela e estão prontos para uso. A vida da gente é corrida, não há quase mais tempo para pensar, e eu sinto que às vezes é preciso andar mais lento!  Outrolado_

. . .

Leia também:

 

Os tubos de calor nos nossos computadores e sistemas

Por que o micro de 8 bits foi tão importante

Paulo Roberto Elias é professor e pesquisador em ciências da saúde, Mestre em Ciência (M.Sc.) pelo Departamento de Bioquímica, do Instituto de Química da UFRJ, e Ph.D. em Bioquímica, pela Cardiff University, no Reino Unido.

2 comentários sobre “Ryzen: CPUs a caminho da computação de alta performance otimizada

  1. Essa matéria veio bem a calhar Paulo… No meu ponto de vista, entendo que os CPU’s da AMD sempre tiveram um lugar de destaque e importância na área de computação, mas sempre foram relegados pela industria de informática a processadores de 2ª categoria (pensamento totalmente descabido e injustificável). Façamos aqui um contraponto; a líder incontestável do mercado (Intel) esteve envolvida num tremendo escândalo por falhas de segurança, em que foi descoberto que malwares poderiam explorar falhas em seu sistema de processamento, obrigando a Intel a mudar parâmetros de funcionamento dos chips, para impedir esses ataques mas acabou causando redução de performance de vários modelos de processador, inclusive de um Notebook híbrido da HP que possuo. Ou seja a líder do mercado (Intel) também teve exposto seus pontos fracos, mas nenhum problema foi relatado nas CPU’s da AMD, certo ? Depois deste fato estou fazendo uma poupança, pois meu próximo notebook será com os chips AMD Ryzen !

    • Pois é, Rogério, eu montei Intel durante anos a fio, mas comecei a desistir diante dos preços absurdos, praticados até hoje. Se a Intel tivesse menos ganância e mais interesse em avançar a qualidade dos processadores, esta situação que está aí não teria acontecido.

      Quando eu comecei a ficar inconformado com os preços da Intel, um conhecido meu, que tinha uma pequena revenda de peças, me perguntou porque eu não começava a montar AMD, e na época eu ainda achava AMD uma linha de segunda classe. O tempo me mostrou que eu estava errado! E hoje em dia, então, Intel nem pensar!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *