High Order Finite Element Method on the High Performance Hybrid Architecture Applied on Structural Mechanics
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDADE ESTADUAL DE CAMPINAS Faculdade de Engenharia Mecânica GILBERTO LUIS VALENTE DA COSTA High Order Finite Element Method on the High Performance Hybrid Architecture Applied on Structural Mechanics Método de Elementos Finitos de Alta Ordem e Alto Desempenho em Arquiteturas Híbridas Aplicado à Mecânica Estrutural CAMPINAS 2020 GILBERTO LUIS VALENTE DA COSTA High Order Finite Element Method on the High Performance Hybrid Architecture Applied on Structural Mechanics Método de Elementos Finitos de Alta Ordem e Alto Desempenho em Arquiteturas Híbridas Aplicado à Mecânica Estrutural Thesis presented to the School of Mechanical Engineering of the University of Campinas in partial fulfillment of the requirements for the PhD degree, in the field of Solid Mechanics and Mechanical Design. Tese apresentada à Faculdade de Engen- haria Mecânica da Universidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Doutor em En- genharia Mecânica, na Área de Mecânica dos Sólidos e Projeto Mecânico. Orientador: Prof. Dr. Marco Lúcio Bittencourt Co-orientador Prof. Dr. Edson Borin ESTE EXEMPLAR CORRESPONDE À VERSÃO FINAL DA TESE DEFENDIDA PELO ALUNO GILBERTO LUIS VALENTE DA COSTA, CO-ORIENTADA PELO PROF. DR. EDSON BORIN E ORIENTADA PELO PROF. DR. MARCO LÚCIO BITTENCOURT. CAMPINAS 2020 Ficha catalográfica Universidade Estadual de Campinas Biblioteca da Área de Engenharia e Arquitetura Rose Meire da Silva - CRB 8/5974 Valente, Gilberto Luis, 1983- V234h ValHigh order finite element method on the high performance hybrid architecture applied on structural mechanics / Gilberto Luís Valente da Costa. – Campinas, SP : [s.n.], 2020. ValOrientador: Marco Lúcio Bittencourt. ValCoorientador: Edson Borin. ValTese (doutorado) – Universidade Estadual de Campinas, Faculdade de Engenharia Mecânica. Val1. Métodos dos elementos finitos. 2. Computação de alto desempenho. 3. C++ (Linguagem de programação de computador). 4. Programação paralela (Computação). 5. Supercomputadores. I. Bittencourt, Marco Lúcio, 1964-. II. Borin, Edson, 1979-. III. Universidade Estadual de Campinas. Faculdade de Engenharia Mecânica. IV. Título. Informações para Biblioteca Digital Título em outro idioma: Método de elementos finitos de alta ordem e alto desempenho em arquiteturas híbridas aplicado à mecânica estrutural Palavras-chave em inglês: Finite element method High Performance computing C++ (Computer program language) Parallel computers - Programming Supercomputers Área de concentração: Mecânica dos Sólidos e Projeto Mecânico Titulação: Doutor em Engenharia Mecânica Banca examinadora: Marco Lúcio Bittencourt [Orientador] Alvaro Luiz Gayoso de Azeredo Coutinho Marcilio Alves Philippe Remy Bernard Devloo Josué Labaki Silva Data de defesa: 28-08-2020 Programa de Pós-Graduação: Engenharia Mecânica Identificação e informações acadêmicas do(a) aluno(a) - ORCID do autor: https://orcid.org/0000-0002-7594-3084 - Currículo Lattes do autor: http://lattes.cnpq.br/4560031114548916 Powered by TCPDF (www.tcpdf.org) UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE ENGENHARIA MECÂNICA TESE DE DOUTORADO ACADÊMICO High Order Finite Element Method on the High Performance Hybrid Architecture Applied on Structural Mechanics Método de Elementos Finitos de Alta Ordem e Alto Desempenho em Arquiteturas Híbridas Aplicado à Mecânica Estrutural Autor: Gilberto Luis Valente da Costa Orientador: Prof. Dr. Marco Lúcio Bittencourt Co-orientador: Prof. Dr. Edson Borin A Banca Examinadora composta pelos membros abaixo aprovou esta Tese: Prof. Dr. Marco Lúcio Bittencourt, Presidente FEM/UNICAMP Prof. Dr. Philippe Remy Bernard Devloo FEC/UNICAMP Prof. Dr. Josué Labaki Silva FEM/UNICAMP Dr. Alvaro Luiz Gayoso de Azeredo Coutinho Universidade Federal do Rio de Janeiro Prof. Dr. Marcilio Alves Universidade de São Paulo A Ata da defesa com as respectivas assinaturas dos membros encontra-se no processo de vida acadêmica do aluno. Campinas, 28 de agosto de 2020. À memória de minha mãe e meus avós, Eugênia Cornélia Valente, Pedro Catarino Valente e Luiza Marçal Valente que foram os pilares para minha formação. Dedico sempre pelo apoio que me deram e pelo exemplo de respeito, simplicidade, honestidade e amor ao próximo. Saudades eternas! ACKNOWLEDGEMENTS À Deus, a minha maior fonte de força espiritual, fé e determinação. Agradeço sem- pre pelo dom da vida. Ao meu orientador Prof. Marco Lúcio pela oportunidade deste trabalho, dedicação, paciência, amizade e pelas importantes contribuições ao longo deste período. Ao meu coorientador Prof. Edson Borin pela sua disponibilidade e suporte sempre que necessário na elaboração deste trabalho. Ao Prof. Renato Pavanello pela ajuda e alocação de recursos para o projeto no cluster Kahuna do CCES - Fapesp 2013/08293-7 do IQ-UNICAMP. Estes anos de pesquisa foram marcados de desafios, construção e amadurecimento. Também houve perdas e nestas perdas não tem como deixar a minha gratidão eterna a minha família que se foi, a minha mãe Eugênia Cornélia, o meu avô Pedro Catarino, a minha avó Luíza Marçal, o meu tio Pedro. Obrigado por todo suporte aonde vocês estiverem. Esta conquista também pertence a vocês. Agradeço também ao amor da mulher que Deus colocou na minha vida, Gabriela Thais, pelo seu carinho, compreensão e apoio em todos os momentos ao longo destes anos. Agradeço a todos os meus familiares. A minha grande e querida família que envolve tios e tias que me tratam como filho, primos e primas que me tratam como irmão. Agradeço a to- dos vocês que me acompanharam mesmo distantes, buscaram dar suporte em vários momentos. Aos amigos que deram suporte a este trabalho: Jorge Susuki, Allan Dias, Fabiano Bargos, Jaime Izuka, Luan Franchini, Caio Rodrigues, Geovane Haveroth, Victor Campos, Gabriel Welfany e Luis Renato. A todos os amigos do laboratório pela convivência e amizade: Alfredo, Mari, Ce- zar, Alan, Luis Teixeira, Ana Luisa, Thais, Matheus, Paola Ramos, Darla Caroline, Pedro, Gui- lherme. Aos amigos conquistados nestes anos de Campinas e UNICAMP. Ao José Gui- lherme, Carolliny Miranda, Fabrício Luis, Andrei Braga e Alice Cordovil. Aos amigos de república, Camilo Ariza, Maria Fernanda e Daniel Garcia. Agra- deço também a todos os amigos colombianos, que conviveram constantemente comigo, Oscar Rojas, German Castañeda, Diana Martinez, German Buitrago, Joan Sebastian Chaves, Suranny Jiménez, Ramiro Chamorro, Jenny Lombo, Manuel Arcila e Camilo Gordillo e tantos outros. Agradeço pela amizade, apoio e por grandes momentos de convivência. À Empresa Dom Rock, pelo suporte na realização deste trabalho. Aos ex-colegas de trabalho da empresa Dom Rock, os quais se tornaram amigos e importantes no suporte da minha vida profissional. As pessoas que contribuíram na revisão deste texto, André Almeida, Marcelo Lavor e Gabriel Welfany. A todos os amigos e familiares de quem eu possa não ter lembrado de colocar o nome aqui, mas que de alguma forma direta ou indireta colaboraram para que eu pudesse alcançar esta conquista. I acknowledge the computing resources provided on IBM Blue Gene/P and Q, a high-performance computing cluster operated by the Laboratory Computing Resource Center at Argonne National Laboratory. Finalmente, ao Centro de Computação em Engenharia e Ciências (CCES - Fapesp 2013/08293-7) pelos recursos computacionais e suporte a esta pesquisa. This study was financed in part by the São Paulo Research Foundation (FAPESP), grant 2012/19922-2. “In the middle of every difficulty lies opportunity.” (Albert Einstein) RESUMO Este trabalho descreve a implementação de uma arquitetura de software serial e paralela deno- minada (hp)2FEM para o Método de Elementos Finitos de Alta Ordem (MEF-AO). O projeto do software foi realizado de forma a facilitar e promover a reutilização e a manutenção do có- digo. A implementação baseia-se no paradigma de programação orientada a objeto em C++. É possível usar diferentes ordens de aproximação para os elementos da malha. O uso de malhas com distribuição de graus não-uniformes permite aumentar a ordem de interpolação apenas nos elementos com maior gradiente na solução aproximada. Procedimentos eficientes para o cálculo das matrizes elementares permitem ganhos expressivos em termos de tempo de processamento e memória. Um algoritmo local baseado no método de mínimos quadrados é apresentado para a obtenção dos coeficientes da aproximação. Este algoritmo requer a solução de um sistema linear de equações para cada elemento e obtém os coeficientes da aproximação local pela inversão das matrizes elementares. A solução global para os coeficientes compartilhados por dois ou mais elementos é obtida por uma média ponderada das soluções locais e das medidas dos elementos (comprimento, área e volume). Resultados para distribuição de ordens não-uniforme são apre- sentados para malhas de quadrados e hexaedros no problema de projeção. O perfilamento do código é analisado para quantificar os ganhos em termos de memória e processamento. Resulta- dos de escalabilidade para paralelismo híbrido com OpenMP e MPI apresentam um bom ganho de velocidade, solucionando problemas estruturais transientes lineares e não-lineares com inte- gração temporal explícita. Além disso, verificou-se escalabilidade forte e fraca para o modelo paralelo utilizando bibliotecas de álgebra linear otimizadas. A escalabilidade e o perfilamento foram avaliados no computador IBM Blue Gene/Q - Mira executando o solver local de projeção em 32768 nós de computação com até 840 milhões de graus de liberdade. O procedimento local explícito foi processado no computador Kahuna com processadores