Workflows paramétricos para aplicações do método dos elementos finitos em ambientes paralelos heterogêneos - Silva, Vinícius Bueno da (2013)
O objetivo geral deste trabalho é o desenvolvimento de um sistema de workflows paraméricos para aplicações do método dos elementos finitos (MEF) em ambientes paralelos heterogêneos. Um workflow é um processo definido por um conjunto de atividades que executam sequencialmente e/ou em paralelo e que podem produzir, transformar ou consumir dados. O fluxo de execuçãao de um workflow é definido por canais que ligam uma porta de saída de uma atividade de origem a uma porta de entrada de outra atividade de destino. Por um canal podem trafegar dados ou um sinal de controle da atividade de origem `a de destino, indicando que a última pode iniciar sua execução. Um workflow paramétrico é um modelo no qual uma ou mais atividades são argumentos de tipo do workflow. No sistema proposto, workflows podem ser gerados a partir de um workflow paramérico definindo-se quais são os tipos de atividades correspondentes a cada um dos argumento de tipo do modelo. O sistema é escrito em C++ e constituído de três componentes principais: uma interface gráfica através da qual o usuário pode interativamente criar, modificar, armazenar e executar workflows; um motor que atua como uma máquina virtual paralela responsável pela execução de workflows; e uma biblioteca de atividades primitivas que representam os principais blocos básicos de construção de um programa, tais como sentenças de seleção, repetição, desvio e expressões. Embora possa ser destinado a outros tipos de aplicação, o projeto do sistema foi voltado para especificação de programas de análise numérica via MEF baseados em um arcabouço cujos componentes de software foram desenvolvidos pelo Grupo de Visualização, Simulacão e Jogos Digitais da FACOM–UFMS. Tal arcabouço, em conjunto com o sistema de workflows paramétricos proposto neste trabalho, permitem a geração interativa e visual de aplicações de simulação via MEF e sua execução em ambientes paralelos formados por CPUs de vários núcleos e uma ou mais unidades de processamento gráfico (GPUs).