Deberá conocer el modelo y el proveedor de las CPU de su máquina. Una vez que tenga eso, puede buscar en el sitio web del proveedor (o tal vez en Wikipedia) la velocidad del reloj, el número de chips / sockets, el número de núcleos por chip, el número de operaciones de coma flotante por ciclo y el ancho del vector de esas operaciones . Entonces, simplemente multiplicas.
Tomemos, por ejemplo, los procesadores Intel Xeon E5-2680 "Sandy Bridge" en Stampede donde trabajo. Las especificaciones son:
- 2.7GHz
- 2 chips / nodo, 8 núcleos / chip
- 2 instrucciones de vector / ciclo
- Instrucciones AVX de 256 bits de ancho (4 operandos simultáneos de doble precisión)
Multiplicar esos da 345.6 GF / nodo o 2.2 PF para la parte no acelerada del sistema.
Generalmente pensamos en términos de operaciones de doble precisión (64 bits), porque esa es la precisión requerida para la gran mayoría de nuestros usuarios, pero puede rehacer el cálculo en términos de precisión simple si lo desea. Esto generalmente solo cambia el último factor, digamos 8 SP Flops / instrucción en lugar de 4 DP Flops / inst, pero puede ser muy diferente de eso. Las GPU más antiguas, por ejemplo, solo tenían DP a aproximadamente 1/8 de la tasa de SP. Si alguna vez cita un número para su sistema, debe ser explícito acerca de cuál usó si no es de doble precisión porque la gente supondrá que lo fue, de lo contrario.
Además, si su chip admite instrucciones fusionadas de suma múltiple (FMA) y puede hacerlo a toda velocidad, entonces la mayoría de las personas cuentan esto como 2 operaciones de punto flotante, aunque un contador de rendimiento de hardware podría contarlo como una sola instrucción.
Finalmente, también puede hacer esto para cualquier acelerador que pueda existir en su sistema (como una GPU o Xeon Phi) y agregar ese rendimiento al rendimiento de la CPU para obtener un total teórico.