Performance optimization of the MGB hydrological model for multi-core and GPU architectures
| Ano de defesa: | 2021 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | , , , |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Instituto Nacional de Pesquisas Espaciais (INPE)
|
| Programa de Pós-Graduação: |
Programa de Pós-Graduação do INPE em Computação Aplicada
|
| Departamento: |
Não Informado pela instituição
|
| País: |
BR
|
| Link de acesso: | http://urlib.net/sid.inpe.br/mtc-m21c/2021/02.17.20.54 |
Resumo: | Large-scale hydrological models are extensively used for the understanding of watershed processes with applications in water resources, climate change, land use, and forecast systems. The quality of the hydrological results mainly depends on calibrating the optimal sets of watershed parameters, a time-consuming task that requires repeated hydrological model simulations. The ever-growing availability of hydrometeorological data from extensive regions also contributes to the increase in the demand for more computational resources. The performance of optimization methods in hydrological applications has been continuously addressed. However, improving the performance of an application on a modern computer requires a detailed investigation about the interaction between the application and the underlying system, to find the techniques that provide the best performance improvements. This thesis aims at performance optimizations on the well-established MGB hydrological model (simulation) and the MOCOM-UA method (calibration) for real-world input datasets, the Purus (Brazil) and Niger (Africa) watersheds. The optimization strategies investigated in this thesis target state-of-the-art CPU and GPU systems by exploiting techniques that include AVX-512 vectorization, and multi-core (CPU) and many-core (GPU) parallelisms, to increase the usefulness of both simulation and calibration using the MGB model. Significant speedups of up to 20× were achieved on CPU with the proposed optimizations, while the roofline analysis confirmed that the CPU and GPU optimizations more effectively exploited the hardware resources, and improved the overall performance of the MGB model. An additional scalability analysis using a miniapp of the MGB model indicated that speedups up to 24× (CPU) and 65× (GPU) can be achieved for larger problem sizes. Moreover, the accuracy of the simulated results between the nonoptimized and optimized implementations was quantitatively evaluated, reaching maximum relative errors of approximately 6% for discharges and objective functions. The investigated techniques applied on the MGB model are also valid for other scientific applications where a few key parts dominate the execution time when processing a large amount of data. Carefully employing these techniques to optimize such parts may significantly enhance the overall application performance on current CPUs and GPUs. |
| id |
INPE_ddfa89df02d321f3fe4276989faeb4fe |
|---|---|
| oai_identifier_str |
oai:urlib.net:sid.inpe.br/mtc-m21c/2021/02.17.20.54.54-0 |
| network_acronym_str |
INPE |
| network_name_str |
Biblioteca Digital de Teses e Dissertações do INPE |
| spelling |
info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisPerformance optimization of the MGB hydrological model for multi-core and GPU architecturesOtimização de desempenho do modelo hidrológico MGB para arquiteturas multi-core e GPU2021-01-25Celso Luiz MendesStephan StephanyJoão Ricardo de Freitas OliveiraWalter CollischonnDaniel Andrés RodriguezHenrique Rennó de Azeredo FreitasInstituto Nacional de Pesquisas Espaciais (INPE)Programa de Pós-Graduação do INPE em Computação AplicadaINPEBRcomputer systems performanceCPU/GPUroofline modelhydrology modelsparameterizationdesempenho de sistemas computacionaismodelo rooflinemodelos hidrológicosparametrizaçãoLarge-scale hydrological models are extensively used for the understanding of watershed processes with applications in water resources, climate change, land use, and forecast systems. The quality of the hydrological results mainly depends on calibrating the optimal sets of watershed parameters, a time-consuming task that requires repeated hydrological model simulations. The ever-growing availability of hydrometeorological data from extensive regions also contributes to the increase in the demand for more computational resources. The performance of optimization methods in hydrological applications has been continuously addressed. However, improving the performance of an application on a modern computer requires a detailed investigation about the interaction between the application and the underlying system, to find the techniques that provide the best performance improvements. This thesis aims at performance optimizations on the well-established MGB hydrological model (simulation) and the MOCOM-UA method (calibration) for real-world input datasets, the Purus (Brazil) and Niger (Africa) watersheds. The optimization strategies investigated in this thesis target state-of-the-art CPU and GPU systems by exploiting techniques that include AVX-512 vectorization, and multi-core (CPU) and many-core (GPU) parallelisms, to increase the usefulness of both simulation and calibration using the MGB model. Significant speedups of up to 20× were achieved on CPU with the proposed optimizations, while the roofline analysis confirmed that the CPU and GPU optimizations more effectively exploited the hardware resources, and improved the overall performance of the MGB model. An additional scalability analysis using a miniapp of the MGB model indicated that speedups up to 24× (CPU) and 65× (GPU) can be achieved for larger problem sizes. Moreover, the accuracy of the simulated results between the nonoptimized and optimized implementations was quantitatively evaluated, reaching maximum relative errors of approximately 6% for discharges and objective functions. The investigated techniques applied on the MGB model are also valid for other scientific applications where a few key parts dominate the execution time when processing a large amount of data. Carefully employing these techniques to optimize such parts may significantly enhance the overall application performance on current CPUs and GPUs.Modelos hidrológicos de bacias de grande escala são amplamente utilizados para a compreensão dos processos de bacias hidrográficas com aplicações em recursos hídricos, mudanças climáticas, uso da terra, e sistemas de previsão. A qualidade dos resultados hidrológicos depende principalmente em calibrar os conjuntos ótimos de parâmetros da bacia, uma tarefa demorada que exige repetidas simulações do modelo hidrológico. A crescente disponibilidade de dados hidrometeorológicos provenientes de regiões extensas também contribui para o aumento na demanda por mais recursos computacionais. O desempenho de métodos de otimização em aplicações hidrológicas tem sido continuamente abordado. Entretanto, melhorar o desempenho de uma aplicação em um computador moderno exige uma investigação detalhada sobre a interação entre a aplicação e o sistema, a fim de encontrar as técnicas que fornecem os melhores desempenhos. Esta tese busca otimizações de desempenho nos já bem estabelecidos modelo hidrológico MGB (simulação) e método MOCOM-UA (calibração) para conjuntos de dados de entrada reais, as bacias do Purus (Brasil) e Niger (África). As estratégias de otimização investigadas nesta tese visam sistemas computacionais CPU+GPU atuais explorando técnicas que incluem vetorização AVX-512, e paralelismos multi-core (CPU) e many-core (GPU) para aumentar a utilidade de ambas simulação e calibração utilizando o modelo MGB. Speedups significativos de até 20× foram obtidos em CPU com as otimizações propostas, enquanto que a análise roofline confirmou que as otimizações em CPU e GPU exploraram mais efetivamente os recursos de hardware, e melhoraram o desempenho geral do modelo MGB. Uma análise adicional de escalabilidade utilizando um miniapp do modelo MGB indicou que speedups até 24× (CPU) e 65× (GPU) podem ser obtidos para tamanhos de problema maiores. Além disso, a acurácia dos resultados simulados entre as implementações não-otimizada e otimizada foi quantitativamente avaliada, atingindo erros relativos máximos de aproximadamente 6% para vazões e funções objetivo. As técnicas investigadas aplicadas no modelo MGB também são válidas para outras aplicações científicas onde algumas poucas partes cruciais dominam o tempo de execução ao processar uma grande quantidade de dados. Empregando cuidadosamente essas técnicas para otimizar tais partes pode melhorar significativamente o desempenho geral da aplicação em CPUs e GPUs atuais.http://urlib.net/sid.inpe.br/mtc-m21c/2021/02.17.20.54info:eu-repo/semantics/openAccessengreponame:Biblioteca Digital de Teses e Dissertações do INPEinstname:Instituto Nacional de Pesquisas Espaciais (INPE)instacron:INPE2021-07-31T06:56:25Zoai:urlib.net:sid.inpe.br/mtc-m21c/2021/02.17.20.54.54-0Biblioteca Digital de Teses e Dissertaçõeshttp://bibdigital.sid.inpe.br/PUBhttp://bibdigital.sid.inpe.br/col/iconet.com.br/banon/2003/11.21.21.08/doc/oai.cgiopendoar:32772021-07-31 06:56:26.991Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE)false |
| dc.title.en.fl_str_mv |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| dc.title.alternative.pt.fl_str_mv |
Otimização de desempenho do modelo hidrológico MGB para arquiteturas multi-core e GPU |
| title |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| spellingShingle |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures Henrique Rennó de Azeredo Freitas |
| title_short |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| title_full |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| title_fullStr |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| title_full_unstemmed |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| title_sort |
Performance optimization of the MGB hydrological model for multi-core and GPU architectures |
| author |
Henrique Rennó de Azeredo Freitas |
| author_facet |
Henrique Rennó de Azeredo Freitas |
| author_role |
author |
| dc.contributor.advisor1.fl_str_mv |
Celso Luiz Mendes |
| dc.contributor.referee1.fl_str_mv |
Stephan Stephany |
| dc.contributor.referee2.fl_str_mv |
João Ricardo de Freitas Oliveira |
| dc.contributor.referee3.fl_str_mv |
Walter Collischonn |
| dc.contributor.referee4.fl_str_mv |
Daniel Andrés Rodriguez |
| dc.contributor.author.fl_str_mv |
Henrique Rennó de Azeredo Freitas |
| contributor_str_mv |
Celso Luiz Mendes Stephan Stephany João Ricardo de Freitas Oliveira Walter Collischonn Daniel Andrés Rodriguez |
| dc.description.abstract.por.fl_txt_mv |
Large-scale hydrological models are extensively used for the understanding of watershed processes with applications in water resources, climate change, land use, and forecast systems. The quality of the hydrological results mainly depends on calibrating the optimal sets of watershed parameters, a time-consuming task that requires repeated hydrological model simulations. The ever-growing availability of hydrometeorological data from extensive regions also contributes to the increase in the demand for more computational resources. The performance of optimization methods in hydrological applications has been continuously addressed. However, improving the performance of an application on a modern computer requires a detailed investigation about the interaction between the application and the underlying system, to find the techniques that provide the best performance improvements. This thesis aims at performance optimizations on the well-established MGB hydrological model (simulation) and the MOCOM-UA method (calibration) for real-world input datasets, the Purus (Brazil) and Niger (Africa) watersheds. The optimization strategies investigated in this thesis target state-of-the-art CPU and GPU systems by exploiting techniques that include AVX-512 vectorization, and multi-core (CPU) and many-core (GPU) parallelisms, to increase the usefulness of both simulation and calibration using the MGB model. Significant speedups of up to 20× were achieved on CPU with the proposed optimizations, while the roofline analysis confirmed that the CPU and GPU optimizations more effectively exploited the hardware resources, and improved the overall performance of the MGB model. An additional scalability analysis using a miniapp of the MGB model indicated that speedups up to 24× (CPU) and 65× (GPU) can be achieved for larger problem sizes. Moreover, the accuracy of the simulated results between the nonoptimized and optimized implementations was quantitatively evaluated, reaching maximum relative errors of approximately 6% for discharges and objective functions. The investigated techniques applied on the MGB model are also valid for other scientific applications where a few key parts dominate the execution time when processing a large amount of data. Carefully employing these techniques to optimize such parts may significantly enhance the overall application performance on current CPUs and GPUs. Modelos hidrológicos de bacias de grande escala são amplamente utilizados para a compreensão dos processos de bacias hidrográficas com aplicações em recursos hídricos, mudanças climáticas, uso da terra, e sistemas de previsão. A qualidade dos resultados hidrológicos depende principalmente em calibrar os conjuntos ótimos de parâmetros da bacia, uma tarefa demorada que exige repetidas simulações do modelo hidrológico. A crescente disponibilidade de dados hidrometeorológicos provenientes de regiões extensas também contribui para o aumento na demanda por mais recursos computacionais. O desempenho de métodos de otimização em aplicações hidrológicas tem sido continuamente abordado. Entretanto, melhorar o desempenho de uma aplicação em um computador moderno exige uma investigação detalhada sobre a interação entre a aplicação e o sistema, a fim de encontrar as técnicas que fornecem os melhores desempenhos. Esta tese busca otimizações de desempenho nos já bem estabelecidos modelo hidrológico MGB (simulação) e método MOCOM-UA (calibração) para conjuntos de dados de entrada reais, as bacias do Purus (Brasil) e Niger (África). As estratégias de otimização investigadas nesta tese visam sistemas computacionais CPU+GPU atuais explorando técnicas que incluem vetorização AVX-512, e paralelismos multi-core (CPU) e many-core (GPU) para aumentar a utilidade de ambas simulação e calibração utilizando o modelo MGB. Speedups significativos de até 20× foram obtidos em CPU com as otimizações propostas, enquanto que a análise roofline confirmou que as otimizações em CPU e GPU exploraram mais efetivamente os recursos de hardware, e melhoraram o desempenho geral do modelo MGB. Uma análise adicional de escalabilidade utilizando um miniapp do modelo MGB indicou que speedups até 24× (CPU) e 65× (GPU) podem ser obtidos para tamanhos de problema maiores. Além disso, a acurácia dos resultados simulados entre as implementações não-otimizada e otimizada foi quantitativamente avaliada, atingindo erros relativos máximos de aproximadamente 6% para vazões e funções objetivo. As técnicas investigadas aplicadas no modelo MGB também são válidas para outras aplicações científicas onde algumas poucas partes cruciais dominam o tempo de execução ao processar uma grande quantidade de dados. Empregando cuidadosamente essas técnicas para otimizar tais partes pode melhorar significativamente o desempenho geral da aplicação em CPUs e GPUs atuais. |
| description |
Large-scale hydrological models are extensively used for the understanding of watershed processes with applications in water resources, climate change, land use, and forecast systems. The quality of the hydrological results mainly depends on calibrating the optimal sets of watershed parameters, a time-consuming task that requires repeated hydrological model simulations. The ever-growing availability of hydrometeorological data from extensive regions also contributes to the increase in the demand for more computational resources. The performance of optimization methods in hydrological applications has been continuously addressed. However, improving the performance of an application on a modern computer requires a detailed investigation about the interaction between the application and the underlying system, to find the techniques that provide the best performance improvements. This thesis aims at performance optimizations on the well-established MGB hydrological model (simulation) and the MOCOM-UA method (calibration) for real-world input datasets, the Purus (Brazil) and Niger (Africa) watersheds. The optimization strategies investigated in this thesis target state-of-the-art CPU and GPU systems by exploiting techniques that include AVX-512 vectorization, and multi-core (CPU) and many-core (GPU) parallelisms, to increase the usefulness of both simulation and calibration using the MGB model. Significant speedups of up to 20× were achieved on CPU with the proposed optimizations, while the roofline analysis confirmed that the CPU and GPU optimizations more effectively exploited the hardware resources, and improved the overall performance of the MGB model. An additional scalability analysis using a miniapp of the MGB model indicated that speedups up to 24× (CPU) and 65× (GPU) can be achieved for larger problem sizes. Moreover, the accuracy of the simulated results between the nonoptimized and optimized implementations was quantitatively evaluated, reaching maximum relative errors of approximately 6% for discharges and objective functions. The investigated techniques applied on the MGB model are also valid for other scientific applications where a few key parts dominate the execution time when processing a large amount of data. Carefully employing these techniques to optimize such parts may significantly enhance the overall application performance on current CPUs and GPUs. |
| publishDate |
2021 |
| dc.date.issued.fl_str_mv |
2021-01-25 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| status_str |
publishedVersion |
| format |
doctoralThesis |
| dc.identifier.uri.fl_str_mv |
http://urlib.net/sid.inpe.br/mtc-m21c/2021/02.17.20.54 |
| url |
http://urlib.net/sid.inpe.br/mtc-m21c/2021/02.17.20.54 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
Instituto Nacional de Pesquisas Espaciais (INPE) |
| dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação do INPE em Computação Aplicada |
| dc.publisher.initials.fl_str_mv |
INPE |
| dc.publisher.country.fl_str_mv |
BR |
| publisher.none.fl_str_mv |
Instituto Nacional de Pesquisas Espaciais (INPE) |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações do INPE instname:Instituto Nacional de Pesquisas Espaciais (INPE) instacron:INPE |
| reponame_str |
Biblioteca Digital de Teses e Dissertações do INPE |
| collection |
Biblioteca Digital de Teses e Dissertações do INPE |
| instname_str |
Instituto Nacional de Pesquisas Espaciais (INPE) |
| instacron_str |
INPE |
| institution |
INPE |
| repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE) |
| repository.mail.fl_str_mv |
|
| publisher_program_txtF_mv |
Programa de Pós-Graduação do INPE em Computação Aplicada |
| contributor_advisor1_txtF_mv |
Celso Luiz Mendes |
| _version_ |
1706805045380513792 |