Me gustaría predecir tiempos de ejecución para operaciones de álgebra lineal densa en una arquitectura específica utilizando una biblioteca específica. Me gustaría aprender un modelo que se aproxime a la función.
tamaños de entrada runtime
para operaciones como multiplicación de matrices, suma de elementos, resolución triangular, etc.
Sospecho que estos tiempos de ejecución son en su mayoría predecibles debido a la regularidad de las operaciones una vez que superas los tamaños de problemas que se ajustan cómodamente en la memoria caché.
Preguntas:
- ¿Es realista esta suposición? ¿Es probable que la función de tiempo de ejecución sea casi determinista?
- ¿Puedo suponer que esta función será polinómica en los tamaños de las entradas? (es decir, espero que la matriz densa se multiplique para parecerse a para y algún coeficiente escalar)
- ¿Hay trabajo preexistente sobre esto en alguna parte?
- Mi plan actual es hacer una regresión de mínimos cuadrados con un regularizador . ¿Cualquier otra sugerencia?
Editar: para ser claros, estoy buscando tiempos de ejecución, no FLOP o cualquier otra métrica de rendimiento común. Estoy dispuesto a restringirme a una arquitectura en particular.
fuente
Hay mucho trabajo preexistente. La mayoría de los desarrolladores de bibliotecas de álgebra lineal publican resultados de rendimiento en términos de rendimiento de punto flotante que se pueden convertir en tiempos de ejecución.
Buscar en Google "Rendimiento DGEMM", por ejemplo, produce lo siguiente: http://math-atlas.sourceforge.net/timing/3_5_10/index.html .
En general, puede esperar que las respuestas no sean fluidas. Habrá saltos o picos cerca de ciertos tamaños de problemas (que se relacionan con los tamaños de caché). También debe esperar mesetas en las tasas y, por lo tanto, regiones lineales para una amplia gama de tamaños de problemas. No espero que los ajustes polinómicos sean muy útiles.
Dado un esfuerzo de evaluación comparativa de base amplia, podría ser más fácil tabular los resultados e interpolarlos según sea necesario. ¿Cual es tu meta?
fuente
DGEMM