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
On the programmability of multi-GPU computing systems
On the programmability of multi-GPU computing systems
Multi-GPU systems are widely used in High Performance Computing environments to accelerate scientific computations.
This trend is expected to continue as integrated GPUs will be i...
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...
Coupled earth system modeling on heterogeneous HPC architectures with ParFlow in the Terrestrial Systems Modeling Platform
Coupled earth system modeling on heterogeneous HPC architectures with ParFlow in the Terrestrial Systems Modeling Platform
<p>Rapidly changing heterogeneous supercomputer architectures pose a great challenge to many scientific communities trying to leverage the latest technology in high-p...
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...
Advancing stream classification and hydrologic modeling of ungaged basins for environmental flow management in coastal southern California
Advancing stream classification and hydrologic modeling of ungaged basins for environmental flow management in coastal southern California
Abstract. Environmental streamflow management can improve the ecological health of streams by returning modified flows to more natural conditions. The Ecological Limits of Hydrolog...
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...
CPU AND GPU (CUDA) TEMPLATE MATCHING COMPARISON / CPU IR GPU (CUDA) PALYGINIMAS VYKDANT ŠABLONŲ ATITIKTIES ALGORITMĄ
CPU AND GPU (CUDA) TEMPLATE MATCHING COMPARISON / CPU IR GPU (CUDA) PALYGINIMAS VYKDANT ŠABLONŲ ATITIKTIES ALGORITMĄ
Image processing, computer vision or other complicated opticalinformation processing algorithms require large resources. It isoften desired to execute algorithms in real time. It i...

