Desenvolvimento de uma versão paralela do software McMaille
Carregando...
Data de Submissão
Data de Defesa
2018
Edição
Autores
Orientadores
Coorientadores
Editores
Título da Revista
ISSN da Revista
Título de Volume
Editor
Descrição
Muitas propriedades dos sólidos podem ser compreendidas através da estrutura cristalina desses materiais. A estrutura cristalina relaciona-se à organização dos átomos que constituem o sólido, sendo que esta pode ser identificada através do uso da técnica de difração de raio X. Diversos softwares foram desenvolvidos para a identificação das estruturas cristalinas a partir de dados obtidos através de técnicas de difração de raio X. Dentre estes, destaca-se o McMaille, que é um programa desenvolvido na linguagem de programação FORTRAN, e que utiliza os métodos de Monte Carlo e Grid Search para a classificação da estrutura cristalina. No caso de estruturas cristalinas complexas, o McMaille apresenta um alto custo computacional, devido ao grande número de combinações a serem testadas. Desta forma, neste trabalho foi desenvolvida uma versão paralela do software McMaille, sendo que essa foi desenvolvida para ser executada em computadores com múltiplos processadores e com memória compartilhada, utilizando a biblioteca OpenMP. Inicialmente, foi realizada uma conversão do software McMaille de FORTRAN para a linguagem C utilizando o conversor f2c, sendo verificado que a conversão não introduziu erros no programa. Em seguida, foi realizado um perfilamento do código utilizando o programa gprof, identificando que a função calcul1 possui o maior custo computacional do programa. Foram realizadas otimizações nesta função, que resultaram em um ganho de desempenho de até aproximadamente 32%. Após, foi realizada a paralelização dos métodos de Monte Carlo e Grid Search. Foi verificado que a paralelização não inseriu erros no programa e verificou-se uma diminuição no tempo de execução, atingindo em casos mais complexos um speedup de 2,34 e uma eficiência de 58% (sic).
