Performance optimization of the MGB hydrological model for multi-core and GPU architectures

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Henrique Rennó de Azeredo Freitas
Orientador(a): Celso Luiz Mendes
Banca de defesa: Stephan Stephany, João Ricardo de Freitas Oliveira, Walter Collischonn, Daniel Andrés Rodriguez
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