llnl / llnl/conduit

refactor mesh transform calls that don't use mpi into non mpi lib

Open
#945 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Several transform methods in `conduit::blueprint::mpi::mesh` don't use MPI.

(for example:)
conduit::blueprint::mpi::mesh::generate_sides

They provide a multi-domain interface to these transformations. They do take into consideration things like adjsets, which represent MPI context, but they don't need to use MPI to execute the transforms.

These methods should be moved into the non mpi blueprint lib, accessible via something like:

`multi_domain::to_zzz`

This would also help us implement:
https://github.com/LLNL/conduit/issues/932

@agcapps -- a topic we discussed on 3/25.

Some will remain in the MPI lib.

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 inventorying the transform methods under conduit::blueprint::mpi::mesh, including generate_sides, and determine which ones actually require MPI. Review the proposed multi_domain::to_zzz interface and issue #932 for context. Done means non-MPI transforms are accessible through the non-MPI blueprint library while MPI-dependent methods remain in the MPI library.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.