Alternativas de processamento numérico eficiente para a Engenharia do século XXI

Autores

  • Nelson Luís Dias Universidade Federal do Paraná

Palavras-chave:

Fortran, Python, Processamento Científico

Resumo

Neste trabalho nós comparamos (do ponto de vista de desempenho computacional) a linguagem de programação interpretada Python com a linguagem de programação compilada Fortran. Ambas são extremamente populares entre a comunidade de cientistas e engenheiros, e ambas possuem prós e contras. Nós mostramos que, deviadamente ampliadas com extensões adequadas (NumPy e Numba no caso de Python; BLAS no caso de Fortran (e também, implicitamente, no de Python)), elas geram código que roda muitas vezes com a mesma ordem de magnitude de velocidade, havendo casos em que a implementação em Python com NumPy chega a ser mais rápida — embora, em geral, ainda haja uma clara vantagem para Fortran. Exceto no caso de programas cujo tempo de processamento é extremamente longo (da ordem de horas ou mais), entretanto, tais diferenças têm pouca importância prática, e a vantagem em termos de velocidade de desenvolvimento e em termos de clareza e de concisão do código proporcionada por Python não é desprezível. Conclui-se que atualmente a não é mais importante escolher a “melhor” linguagem; tal conceito, simplesmente, não faz mais sentido. Muito pelo contrário, nós procuramos ressaltar a importância de engenheiros (computacionalmente) “poliglotas”, já que a melhor escolha da ferramenta de computação frequentemente depende do problema em questão. Finalmente, nós esperamos que os exemplos utilizados sejam úteis em si para estimular o aprendizado e a adoção deste tipo de ferramenta pelos estudantes de Engenharia.

Palavras-chave: Fortran, Python, Processamento Científico.

Biografia do Autor

  • Nelson Luís Dias, Universidade Federal do Paraná
    Departamento de Engenharia Ambiental

Downloads

Publicado

2014-09-12

Edição

Seção

Artigos