Accelerated hydrologic modeling: ParFlow GPU implementation
Date: 10/06/2020, 10.30 am
speaker: Jaro Hokkanen, Computer Scientist at Forschungszentrum Jülich
Registration url: https://attendee.gotowebinar.com/register/9001459110700525835
abstract: Hosted by Jaro Hokkanen, computer scientist at Forschungszentrum Jülich, this webinar will address the GPU implementation of the Parflow code.
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.
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.
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.
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.
EoCoE is a European Horizon 2020 funded project of Centre of Excellence in computing applications. It is designed to enhance numerical simulation efficiency in the international context of the High Performance Computing (HPC) challenges. It focusses its application scope towards low carbon energy domains.
To measure solar energy's profound impact, we must contemplate the “carbon footprint” — a metric that quantifies the total greenhouse gas emissions caused by an individual, organization, event, or product. Traditional electricity production contributes heavily to a nation's footprint, with fossil fuels being the predominant energy source. By harnessing solar energy, we offset these emissions and aid in the progressive decline of our collective carbon footprint.
Switching to solar is more than energy change it's a commitment to a future with reduced carbon emissions
- Roberto Liam
Our Role in Solar Advancement
To measure solar energy's profound impact, we must contemplate the “carbon footprint” — a metric that quantifies the total greenhouse gas emissions caused by an individual, organization, event, or product. Traditional electricity production contributes heavily to a nation's footprint, with fossil fuels being the predominant energy source. By harnessing solar energy, we offset these emissions and aid in the progressive decline of our collective carbon footprint.
In the battle against climate change, the shift towards renewable energy sources plays a pivotal role. Among these, solar energy emerges as a beacon of hope and innovation. Positioned as both a clean and inexhaustible source of power, solar energy has shown significant promise in reducing global carbon emissions. Let’s explore how the adoption of solar power is making strides in the journey towards a more sustainable future.
Active participation from both consumers and industries in the solar movement is imperative. It includes transitioning to solar power where feasible, supporting policies that encourage






