Investigando a Efetividade de LLMs na Otimização de Código Paralelo

  • Pedro Cattai UNESP
  • Alexandro Baldassin UNESP

Resumo


Um dos desafios da programação paralela é o equilíbrio entre a corretude e a eficiência dos algoritmos. Com a evolução de técnicas baseadas em inteligência artificial, uma questão que se apresenta é o quanto tais técnicas conseguiriam auxiliar um programador a otimizar o código, sem comprometer sua corretude. Este artigo avalia o uso de Large Language Models (LLMs), como o ChatGPT e o GitHub Copilot, para a otimização de código paralelo escrito em OpenMP. Os resultados experimentais mostram que as otimizações do ChatGPT geralmente apresentam algum erro e não são notavelmente melhores, com raras exceções. O Copilot, entretanto, apresenta resultados mais consistentes e confiáveis.

Referências

Humza Naveed et al. A Comprehensive Overview of Large Language Models. 2023. arXiv: 2307.06435 [cs.CL].

E. Opara, Mfon-Ette A. e T. C. Aduke. “ChatGPT for Teaching, Learning and Research: Prospects and Challenges”. Em: Global Academic Journal of Humanities and Social Sciences 5.2 (mar. de 2023), pp. 33–40.

C. Stokel-Walker e R. Van Noorden. “What ChatGPT and generative AI mean for science”. Em: Nature (fev. de 2023), pp. 214–216.

H. Sutter e J. Larus. “Software and the Concurrency Revolution: Leveraging the Full Power of Multicore Processors Demands New Tools and New Thinking from the Software Industry.” Em: Queue 3.7 (set. de 2005), pp. 54–62.

P. Tarasiuk e M. Yatsymirskyy. “Optimized Concise Implementation of Batcher’s Odd-Even Sorting”. Em: 2018 IEEE Second International Conference on Data Stream Mining Processing (DSMP). 2018, pp. 449–452.
Publicado
16/05/2024
CATTAI, Pedro; BALDASSIN, Alexandro. Investigando a Efetividade de LLMs na Otimização de Código Paralelo. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DE SÃO PAULO (ERAD-SP), 15. , 2024, Rio Claro/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 1-4. DOI: https://doi.org/10.5753/eradsp.2024.239595.

##plugins.generic.recommendByAuthor.heading##

1 2 > >>