Otimização de Desempenho em Código Interpretador de Programação Genética

  • Lucas Bicalho Oliveira UNIFESP
  • Álvaro Luiz Fazenda UNIFESP
  • Vinícius Veloso de Melo UNIFESP

Resumo


A Programação Genética é uma técnica de algoritmo evolutivo que frequentemente apresenta muitas instruções e etapas que podem ser executadas concorrentemente. Assim, técnicas de programação paralela e de alto desempenho podem ser empregadas para otimização do desempenho computacional do algoritmo desenvolvido. Este artigo demonstra a melhoria de desempenho obtida para um código interpretador de algoritmos de Programação Genética, através do uso de programação aderente aos padrões OpenMP e OpenACC. Como resultado, foi possível observar que as execuções em GPU mostraram significativa melhoria de desempenho quando utilizadas com entradas consideradas grandes para o problema. Cabe destacar ainda que a versão desenvolvida em OpenACC permite a portabilidade do código entre diferentes plataformas, permitindo execução eficiente da forma multithread em CPU, tanto quanto em GPU, representando uma opção com portabilidade efetiva.

Palavras-chave: Avaliação, Medição e Predição de Desempenho, Computação de Alto Desempenho, Teste e Depuração de Programas Concorrentes

Referências

Chandra, R. (2001). Parallel Programming in OpenMP. Morgan Kaufmann Publishers, San Francisco, CA.

Chitty, D. M. (2012). Fast parallel genetic programming: multi-core CPU versus many-core GPU. Soft Computing, 16(10):1795–1814.

de Melo, V.V., Fazenda, A. L.,Sotto, L. F. D. P. ,and Iacca,G.(2020). A mimd interpreter for genetic programming. In Castillo, P. A., Jimenez Laredo, J. L., and Fernandez de Vega, F., editors, Applications of Evolutionary Computation, pages 645–658. Springer International Publishing, Cham.

Koza, J. R. (1994). Genetic programming as a means for programming computers by natural selection. Statistics and Computing, 4(2):87–112.
Publicado
06/05/2021
OLIVEIRA, Lucas Bicalho; FAZENDA, Álvaro Luiz; DE MELO, Vinícius Veloso. Otimização de Desempenho em Código Interpretador de Programação Genética. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DE SÃO PAULO (ERAD-SP), 12. , 2021, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 1-4. DOI: https://doi.org/10.5753/eradsp.2021.16691.