How to handle multiple domains per MPI process #1105
-
Hi everyone, I was hoping someone could help me to understand how to handle multiple domains per process in Ascent. I am currently trying to use Ascent in an app (very similar to the CloverLeaf 3D proxy) with 3D rectilinear mesh, multiple MPI processes and multiple domains per MPI process. Everything works fine with one domain per MPI process but fails when I try to use multiple domains per process.
Many thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi Jim, There is still one publish per MPI task, each MPI Task presents a conduit tree with children that represent the domains. Here is one way to create such a tree:
For each domain, you can provide the domain id under
Here are some test snippets that demo MPI use: Line 336 in 60dcf7d Hope this helps, and I will also admit we need better docs and examples that show the MPI case. -Cyrus |
Beta Was this translation helpful? Give feedback.
Hi Jim,
There is still one publish per MPI task, each MPI Task presents a conduit tree with children that represent the domains.
Here is one way to create such a tree:
For each domain, you can provide the domain id under
state/domain_id
:Here are some test snippets that demo MPI use:
ascent/src/tests/ascent/t_ascent_mpi_render_3d.cpp
Line 62 in 60dcf7d
ascent/src/tests/t_utils.hpp
Line 336 in 60dcf7d
Hope this helps, and I wil…