llnl / llnl/conduit

Partitioner fails when multiple topologies provide adjsets.

Open
#1,444 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
248
Forks
72
Avg merge
1d 16h
Merged PRs (30d)
15

Description

I wrote a new test case to test adjset spatial sorting, which makes a mesh and generates lines and corners for it and validates the adjsets. Later, I decided to hook up partitioning. I made the partitioned mesh after the other meshes. It caused the partitioner to crash because topologies (other than the one being partitioned) had adjsets already defined. The logic loops over all adjsets in the domain, which is not right.

  • Build Conduit with parmetis support
  • In the test, move buildDerived() so it comes before buildPartitions() and the test will crash

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

Build Conduit with ParMETIS support and inspect src/libs/blueprint/conduit_blueprint_mesh_partition.cpp around the adjset loop and crash location. In src/tests/blueprint/t_blueprint_mpi_mesh_utils.cpp, move buildDerived() before buildPartitions() as described, run the test, and confirm partitioning no longer crashes when multiple topologies have adjsets.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.