llnl / llnl/conduit

Add `relay::mpi::isend_using_schema`

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

Nobody has claimed this yet.

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

Description

I'm developing an mpi application where ranks need to send conduit nodes to each other in a point-to-point manner.
E.g. imagine a ring where each rank sends a node to its left neighbor and receives from its right neighbor.

This was causing the application to deadlock with using send_using_schema and recv_using_schema.
I was able to resolve by adapting the send_using_schema to an isend_using_schema
(i.e. using MPI_Isend instead of MPI_Send).

Should I add this to conduit::relay::mpi?

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 reading the existing relay::mpi send_using_schema and recv_using_schema entry points described in the issue, then compare their MPI_Send behavior with the proposed MPI_Isend usage. Confirm the API shape and add an isend_using_schema operation that supports the described point-to-point ring without the reported deadlock; the payload names no specific test or file.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems, hpc
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.