NeurOMP: Paralelização automática de código utilizando Aprendizagem por Reforço

Autor: Rodrigo C. O. Rocha, Luís F. W. Góes, João Saffran
Rok vydání: 2020
Zdroj: Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD 2020).
DOI: 10.5753/wscad.2020.14060
Popis: A criação de aplicações que obtenham o máximo de desempenho computacional nas arquiteturas modernas é uma tarefa complexa. Além de utilizar conhecimentos de paralelismo, o programador precisar ter um amplo conhecimento de vários outros aspectos da aplicação. Por este motivo, os compiladores modernos tentam paralelizar algoritmos de maneira automática, utilizando a análise estática do código. Uma maneira de melhorar o processo de tomada de decisão do compilador é utilizando Aprendizagem por Reforço (RL). Este trabalho propõe e avalia uma otimização, chamada NeurOMP, que utiliza RL para paralelizar for loops em códigos C utilizando a biblioteca OpenMP. Os resultados experimentais mostram que o NeurOMP obtém um speedup médio no CAP Bench de 1.6, similar a um especialista humano.
Databáze: OpenAIRE