First time here? Checkout the FAQ!
x
0 votes
by (640 points)
Hi everyone,

I am trying to run openCARP without carputils in order to better understand some details of the code. This implies running the following command:

openCARP +F parfile.par

with a detailed custom parfile which plays the role of the "cmd" list in carputils' scripts.

Anyway, I couldn't find a way to run openCARP in parallel. I naively tried

mpirun -np <N> openCARP +F parfile.par

But for the first N-1 processes i got an "Error: Empty Partitioning!!!" message while a "standard" sequential run for the N-th process. Is there a workaround?

1 Answer

+1 vote
by (8.0k points)
selected by
 
Best answer
Hi!

Parallel simulations are started indeed with

mpirun -np <N> openCARP +F parfile.par

or

mpiexec -n <N> openCARP +F parfile.par

It is hard to say what causes your problems. Common MPI issues are:

1) The mpirun and mpiexec (from the PATH) are from a different MPI package than the mpicc/mpicxx used for building openCARP.

2) mpirun is from a different package than mpiexec. E.g. because Paraview installs its own mpirun (which is a crime in its own right) but no mpiexec.

Note that carputils uses mpiexec and you seem to use mpirun. Therefore, if you experience carputils simulations to work and yours don't, then I would check for issue 2).

Best, Aurel
by (640 points)
Thank you very much for your answer!
I tried also with
mpiexec -n <N> openCARP +F parfile.par
but the issue persists (while using carputils everything is good). I am actually using a modified geometry with only 12 nodes (basically two face-joined cubes) in order to study the behavior of certain routines composing the parallel layout. I honestly did not check if there is a lower limit on geometry nodes in order to trigger the partitioning
by (8.0k points)
Since you are partitioning the elements, you need at least one element per process. This is not the case for N > 2 in the setting you described. As such, the error reported makes sense.
by (640 points)
Yes, it was definitely the geometry. Even with N=2 the program gave me the "Empty Partitioning!!" error. Using 4 inline face-joined cubes (20 nodes, 4 elements) and N=2, it turned out to give 3 elements to process 0 and just one to process 1, but at least no more errors.
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], config: ["MMLorHTML.js"], jax: ["input/TeX"], processEscapes: true } }); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true } } });
...