Javascript must be enabled to continue!
Accelerated hydrologic modeling: ParFlow GPU implementation
View through CrossRef
<p>&#160; ParFlow is known as a numerical model that simulates the hydrologic cycle from the bedrock to the top of the plant canopy. The original codebase provides an embedded Domain-Specific Language (eDSL) for generic numerical implementations with support for supercomputer environments (distributed memory parallelism), on top of which the hydrologic numerical core has been built.<br>&#160; In ParFlow, the newly developed optional GPU acceleration is built directly into the eDSL headers such that, ideally, parallelizing all loops in a single source file requires only a new header file. This is possible because the eDSL API is used for looping, allocating memory, and accessing data structures. The decision to embed GPU acceleration directly into the eDSL layer resulted in a highly productive and minimally invasive implementation.<br>&#160; This eDSL implementation is based on C host language and the support for GPU acceleration is based on CUDA C++. CUDA C++ has been under intense development during the past years, and features such as Unified Memory and host-device lambdas were extensively leveraged in the ParFlow implementation in order to maximize productivity. Efficient intra- and inter-node data transfer between GPUs rests on a CUDA-aware MPI library and application side GPU-based data packing routines.<br>&#160; The current, moderately optimized ParFlow GPU version runs a representative model up to 20 times faster on a node with 2 Intel Skylake processors and 4 NVIDIA V100 GPUs compared to the original version of ParFlow, where the GPUs are not used. The eDSL approach and ParFlow GPU implementation may serve as a blueprint to tackle the challenges of heterogeneous HPC hardware architectures on the path to exascale.</p>
Title: Accelerated hydrologic modeling: ParFlow GPU implementation
Description:
<p>&#160; ParFlow is known as a numerical model that simulates the hydrologic cycle from the bedrock to the top of the plant canopy.
The original codebase provides an embedded Domain-Specific Language (eDSL) for generic numerical implementations with support for supercomputer environments (distributed memory parallelism), on top of which the hydrologic numerical core has been built.
<br>&#160; In ParFlow, the newly developed optional GPU acceleration is built directly into the eDSL headers such that, ideally, parallelizing all loops in a single source file requires only a new header file.
This is possible because the eDSL API is used for looping, allocating memory, and accessing data structures.
The decision to embed GPU acceleration directly into the eDSL layer resulted in a highly productive and minimally invasive implementation.
<br>&#160; This eDSL implementation is based on C host language and the support for GPU acceleration is based on CUDA C++.
CUDA C++ has been under intense development during the past years, and features such as Unified Memory and host-device lambdas were extensively leveraged in the ParFlow implementation in order to maximize productivity.
Efficient intra- and inter-node data transfer between GPUs rests on a CUDA-aware MPI library and application side GPU-based data packing routines.
<br>&#160; The current, moderately optimized ParFlow GPU version runs a representative model up to 20 times faster on a node with 2 Intel Skylake processors and 4 NVIDIA V100 GPUs compared to the original version of ParFlow, where the GPUs are not used.
The eDSL approach and ParFlow GPU implementation may serve as a blueprint to tackle the challenges of heterogeneous HPC hardware architectures on the path to exascale.
</p>.
Related Results
Mapping the groundwater depth in Africa at high resolution (1 km²) based on the Parflow model and machine learning
Mapping the groundwater depth in Africa at high resolution (1 km²) based on the Parflow model and machine learning
Groundwater depth is the result of a balance between climatic conditions (rainfall, temperature, radiation, etc.), topography (slope and proximity of a river), land use, soil and s...
The ICON-ParFlow coupling: Integrating a continental-scale hydrological model into an Earth system model
The ICON-ParFlow coupling: Integrating a continental-scale hydrological model into an Earth system model
3D prognostic groundwater flow on a global scale is currently lacking in Earth system models. In order to prepare Earth system models for kilometer-scale simulations with integrate...
Heat transfer in supercritical fluids: computational approaches & studies
Heat transfer in supercritical fluids: computational approaches & studies
(English) This thesis delves into investigating the complexities of heat transfer in supercritical fluids through the application of advanced theoretical and computational methodol...
Parallel metaheuristics on GPU
Parallel metaheuristics on GPU
Métaheuristiques parallèles sur GPU
Les problèmes d'optimisation issus du monde réel sont souvent complexes et NP-difficiles. Leur modélisation est en constante évo...
Multi-order hydrologic position: a high-resolution dataset for the conterminous United States
Multi-order hydrologic position: a high-resolution dataset for the conterminous United States
The location of a point within a stream network can be an important measure in hydrology. Hydrologic position (HP) is defined here by two metrics: lateral position (LP) and distanc...
Integrating the ParFlow hydrological model into ICON
Integrating the ParFlow hydrological model into ICON
In order to further develop an ICON-based, storm-resolving earth-system model, the ParFlow hydrological model has been coupled to the ICON land component, which is based on the JSB...
Parallel Monte Carlo Tree Search on GPU
Parallel Monte Carlo Tree Search on GPU
Monte Carlo Tree Search (MCTS) is a method for making optimal decisions in artificial intelligence (AI) problems, typically move planning in combinatorial games. It combines the ge...

