02/06/2023
EVALUATING EX*****ON TIME PREDICTIONS ON GPU KERNELS USING AN ANALYTICAL MODEL AND MACHINE LEARNING TECHNIQUES
M. Amaris, R. Camargo, D. Cordeiro, A. Goldman e D. Trystram, "Evaluating ex*****on time predictions on GPU kernels using an analytical model and machine learning techniques", Journal of Parallel and Distributed Computing, 2023, p. 66-78, doi: 10.1016/j.jpdc.2022.09.002.
Autores:
Marcos Amaris, Raphael Camargo, Daniel Cordeiro, Alfredo Goldman, Denis Trystram.
Resumo:
Prever o desempenho de aplicações executadas em GPUs é um grande desafio e essencial para escalonadores de tarefas eficientes. Existem diferentes abordagens para fazer isto, a saber modelagem analítica e técnicas de aprendizado de máquina (ML). O aprendizado de máquina requer um largo conjunto de treinamentos e recursos confiáveis, não obstante podendo capturar as interações entre arquitetura e software sem intervenção manual. Neste artigo, comparamos um modelo analítico baseado em BSP a fim de prever o tempo de execução dos kernels executados em GPUs. A comparação foi feita utilizando três diferentes técnicas de ML. O modelo analítico é baseado no número de computações e acessos à memória da GPU, com informações adicionais sobre o uso de cache obtidas a partir da criação de perfil. As técnicas de ML Regressão Linear, “Support Vector Machine”, e “Random Forest” foram avaliadas em dois cenários: primeiro, a entrada de dados ou recursos para tecnicas de ML foram os mesmos que do modelo analítico e, segundo, usando um processo de extração de recursos, o qual utilizou análise de correlação e agrupamento hierárquico. Nossos experimentos foram conduzidos com 20 kernels CUDA, 11 dos quais pertenciam a 6 aplicativos do mundo real do pacote de benchmark Rodinia, e os outros eram aplicativos vetoriais de matriz clássicos comumente utilizados para benchmarking. Coletamos dados em 9 GPUs NVIDIA em diferentes máquinas. Mostramos que o modelo analítico desempenha melhor na previsão de quando os aplicativos escalam regularmente. Para o modelo analítico um parâmetro singular λ é capaz de ajustar as previsões, minimizando a complexidade da análise nas aplicações. Também mostramos que as técnicas de ML obtiveram alta precisão quando um processo de extração de características é implementado. Conjuntos de 5 e 10 recursos foram testados de duas maneiras diferentes, para GPUs e Kernels desconhecidos. Para experimentos de ML com um processo de extração de recursos, obtivemos erros em cerca de 1.54% e 2.71% , para GPUs desconhecidas e para Kernels desconhecidos, respectivamente.
Link: https://www.sciencedirect.com/science/article/pii/S0743731522001903
Lattes do docente: http://lattes.cnpq.br/9970287865377659 (Marcos Amaris)