Deltares / Deltares/MeshKernel
Parallelize Mesh Deletion (mesh2d_delete)
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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