Considere dos computadoras con diferentes configuraciones de hardware y software. Cuando se ejecuta exactamente el mismo código de Navier-Stokes en serie en cada plataforma, lleva tiempo xey ejecutar una iteración para la computadora 1 y 2, respectivamente. En este caso, , es la diferencia de tiempo de iteración entre la computadora 1 y la computadora 2.
¿Cuál podría ser el impacto en la magnitud de ? Un candidato obvio es la CPU, mi pregunta principal es si hay otros factores que podrían estar afectando a Δ en el mismo orden que la diferencia de hardware entre las CPU.
performance
iterative-method
navier-stokes
Oscilación Isopícnica
fuente
fuente
Respuestas:
Esta lista no está completa, pero es de esperar que su tamaño dé una pista sobre la escala de posibles factores. Supongo que está compilando el código de origen en su plataforma de elección.
Software
Hardware
UPC
Memoria
HDD
Todo esto ignora los pequeños trucos y características que los diferentes fabricantes incluyen para dar a sus chips una ventaja en el mercado. Sin embargo, el problema principal es que muchas bibliotecas de álgebra lineal dispersas están vinculadas a la memoria. Hacer una multiplicación de matriz dispersa implica una gran cantidad de datos que se mueven sin muchos flops reales.
fuente
-march=native
, o la opción icc / ifort-xHOST
que aplicará optimizaciones específicas a la arquitectura subyacente.En segundo lugar, su pregunta excluye específicamente las diferencias en el software. En mi experiencia, las recompensas de rendimiento por un ajuste cuidadoso pueden ser factores importantes, por lo tanto, si está considerando problemas de hardware, no olvide los problemas de software. Después de todo, el hardware solo puede ejecutar las instrucciones que le das, y si le das menos, terminará antes.
No para expandir esto demasiado, pero para cualquier problema dado hay una infinidad contable de programas que lo resolverán. Entre estos, algunos toman menos tiempo que todos los demás, y ese es un límite inferior. No asuma que ningún programa está en este límite inferior o incluso cerca de este si no se ha ajustado cuidadosamente.
Este enlace explica en detalle el método poco ortodoxo que uso.
fuente