Você precisará conhecer o modelo e o fornecedor das CPUs em sua máquina. Depois disso, você pode procurar no site do fornecedor (ou talvez na Wikipedia) a taxa de clock, número de chips / soquetes, número de núcleos por chip, número de operações de ponto flutuante por ciclo e a largura do vetor dessas operações . Então, você simplesmente se multiplica.
Tomemos, por exemplo, os processadores Intel Xeon E5-2680 "Sandy Bridge" em Stampede, onde trabalho. As especificações são:
- 2.7GHz
- 2 chips / nó, 8 núcleos / chip
- 2 instruções / ciclo de vetores
- Instruções AVX de 256 bits de largura (4 operandos simultâneos de precisão dupla)
Multiplicando esses, obtém 345,6 GF / nó ou 2,2 PF para a parte não acelerada do sistema.
Geralmente pensamos em termos de operações de precisão dupla (64 bits), porque essa é a precisão necessária para a grande maioria de nossos usuários, mas você pode refazer o cálculo em termos de precisão única, se quiser. Isso geralmente muda apenas o último fator, digamos, 8 Flops SP / instrução em vez de 4 Flops DP / inst, mas pode ser muito diferente disso. GPUs mais antigas, por exemplo, só fizeram DP em cerca de 1/8 da taxa de SP. Se você citar um número para o seu sistema, deve ser explícito sobre o que usou, se não for de precisão dupla, porque as pessoas assumirão que sim.
Além disso, se o seu chip suportar instruções FMA (Multiply Add) fundidas, e puder executá-las na velocidade máxima, a maioria das pessoas considerará isso como duas operações de ponto flutuante, embora um contador de desempenho de hardware possa contar isso como apenas uma instrução.
Finalmente, você também pode fazer isso para quaisquer aceleradores que possam existir em seu sistema (como uma GPU ou Xeon Phi) e adicionar esse desempenho ao desempenho da CPU para obter um total teórico.