Deltares / Deltares/MeshKernel

Parallelize Mesh Deletion (mesh2d_delete)

Open
#519 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
31
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Hello, I'm trying to generate models and meshes for a coastal application via dfm_tools, which uses mesh2d_delete to delete land cells from the mesh (https://github.com/Deltares/dfm_tools/blob/main/dfm_tools/meshkernel_helpers.py#L96). It works great sequentially and outputs a result, however, this step takes the longest time in the entire process. To cut down on time, I was hoping to run it on a High Performance Computing system. I have an HPC I'm trying to run the process in in parallel, but quickly found out the mesh deletion process does not have that functionality. And no matter how many resources are allocated to it, the mesh deletion time is the same given a certain domain.

I was wondering if a feature could be developed where to cut down on time, the mesh is split into a number of partitions, processed in parallel, then stitched back together, with each partition allocated a CPU core. I tried on a higher level to have the mesh partitioned before the mesh deletion step, but the mesh files produced do not merge well. The partitioning might need to be done on the polygon level to merge without error.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the mesh2d_delete entry point and its current sequential deletion flow in MeshKernel. Determine how polygon-level partitioning, parallel processing, and stitching could preserve mesh validity, then define validation for equivalent results and improved runtime on HPC systems.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.