Gostaria de prever tempos de execução para operações de álgebra linear densa em uma arquitetura específica usando uma biblioteca específica. Eu gostaria de aprender um modelo que se aproxima da função
tamanhos de entrada tempo de execução
para operações como multiplicação de matrizes, adição por elementos, resolução triangular, etc.
Suspeito que esses tempos de execução sejam principalmente previsíveis devido à regularidade das operações, uma vez que você ultrapassa os tamanhos de problemas que cabem confortavelmente no cache.
Questões:
- Essa suposição é realista? É provável que a função de tempo de execução seja quase determinística?
- Posso assumir que essa função será polinomial nos tamanhos das entradas? (ou seja, espero que a matriz densa multiplique parecida com para A n k × B k m e α algum coeficiente escalar)
- Existe trabalho preexistente sobre isso em algum lugar?
- Meu plano atual é fazer a regressão de mínimos quadrados com um regularizador . Alguma outra sugestão?
Editar: para ficar claro, estou procurando tempos de execução, não FLOPs ou qualquer outra métrica de desempenho comum. Estou disposto a me restringir a uma arquitetura específica.
fonte
Há muito trabalho preexistente. A maioria dos desenvolvedores de bibliotecas de álgebra linear publica resultados de desempenho em termos de desempenho de ponto flutuante que podem ser convertidos em tempos de execução.
A pesquisa no Google "desempenho DGEMM", por exemplo, gera o seguinte: http://math-atlas.sourceforge.net/timing/3_5_10/index.html .
Geralmente, você pode esperar que as respostas não sejam uniformes. Haverá saltos ou picos nas proximidades de determinados tamanhos de problemas (que estão relacionados aos tamanhos de cache). Você também deve esperar platôs nas taxas e, portanto, nas regiões lineares para uma ampla variedade de tamanhos de problemas. Não espero que ajustes polinomiais sejam muito úteis.
Dado um amplo esforço de benchmarking, pode ser mais fácil tabular resultados e interpolar conforme necessário. Qual é o seu objetivo?
fonte
DGEMM