No Prime95, por que pequenas FFTs geram mais calor, apesar da CPU a 100% para todas as opções?


9

Acabei de construir um novo PC Skylake e vou ver um pouco de overclock com o Prime95 como um testador de estresse.

Funciona bem no uso normal, mas com o Prime95 estou percebendo um pouco de otimização da CPU sob determinadas cargas.

Se todos os 4 núcleos (8 threads) estão atolados a 100% independentemente, por que a configuração Small FFT no Prime95 atinge uma temperatura mais alta que a opção 'Blend'?

Respostas:


13

O código vetorizado, especialmente o AVX, aumenta naturalmente a produção de calor da CPU porque o processador deve operar com uma voltagem mais alta para executar essas instruções. Pequenas FFTs exigem menos memória que o modo de mesclagem; portanto, o processador gasta mais tempo processando dados e menos tempo aguardando dados.

  • A arquitetura x86-64 fornece amplos recursos de processamento vetorial , especialmente nos processadores mais recentes. O processamento vetorial permite que os aplicativos realizem operações matemáticas em vários itens de dados ao mesmo tempo e é usado por muitos aplicativos mais intensivos em computação para aumentar o rendimento do processamento.

  • O código vetorizado, especialmente as instruções AVX usadas pelo Prime95, exige que o processador opere com uma voltagem mais alta que o normal. Isso resulta em consumo de energia e produção de calor maior do que o que ocorre em cargas de trabalho normais. Por esse motivo, a Intel avisa que cargas pesadas pelo AVX podem fazer com que o processador acelere ou não mantenha as taxas de clock completas do Turbo Boost (nota de rodapé 1):

    As Extensões vetoriais avançadas Intel® (Intel® AVX) foram projetadas para obter maior taxa de transferência para determinadas operações de ponto flutuante e número inteiro. Devido às características variáveis ​​da potência do processador, a utilização das instruções AVX pode fazer com que a) algumas peças funcionem com menos que a frequência nominal eb) algumas peças com a Intel® Turbo Boost Technology 2.0 para não atingir nenhuma ou a máxima frequência turbo.

    A Intel explica isso em mais detalhes neste white paper . Em particular, observa:

    O Intel AVX foi desenvolvido para obter maior taxa de transferência para determinadas operações de ponto flutuante e número inteiro. O uso destas instruções pode fazer com que os processadores operem a menos que a frequência TDP marcada. Essas reduções na frequência ocorrem porque as instruções Intel AVX de alta potência requerem tensão e corrente elétrica adicionais.

    • Meu palpite sobre o porquê de impulsionar o núcleo V é necessário para obter instruções do AVX é que as unidades de execução do AVX são mais complexas do que as outras partes do processador, resultando em estágios de pipeline correspondentes que levam mais tempo para serem concluídos (consulte esta resposta para obter mais informações técnicas sobre pipelines e outros aspectos do design do processador). Se um estágio de pipeline específico for lento, a taxa máxima de clock do processador é limitada, pois cada estágio do pipeline deve terminar em cada ciclo de clock.

    • Pela mesma razão, tensões mais altas aumentam as frequências máximas atingíveis durante o overclock (os transistores podem mudar mais rapidamente em tensões mais altas), aumentando a tensão ajuda a garantir que os estágios mais longos da tubulação possam terminar a tempo.

  • O modo Small FFT usa apenas itens de dados menores que podem caber no cache da CPU , ao contrário do modo Blend, que opera com valores pequenos e grandes que podem não caber no cache. Como o acesso à memória é lento em relação ao simples processamento de dados, o processador estará gastando menos tempo processando dados no modo Blend, reduzindo a produção de calor. As pequenas FFTs não acarretam um acesso próximo à memória, resultando em um trabalho mais real para a CPU executar, aumentando assim o consumo de energia e a produção de calor.


Obrigado @DragonLord, isso torna os diferentes modos Prime95 muito claros. Você amplificaria sua resposta para explicar por que o monitor de recursos lê 100% nos dois casos? Por que ele não lê menos de 100% no modo Blend, por exemplo, se está aguardando dados mais do que no modo Small FFT?
ChrisA

1
A CPU ocupada aguardando memória ainda é relatada como ocupada no sistema operacional, pelo que entendi.
bwDraco
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.