step-17: MPI parallelisation doesn't run (macOS Catalina)

248 views
Skip to first unread message

bob bill

unread,
Jun 26, 2021, 4:25:02 AM6/26/21
to deal.II User Group
Hi everyone,

I'm learning how to parallelise dealii programs with MPI, and I've started with tutorial number 17. I have a macOS Catalina, 10.15.7 and if I query the version to the command line
mpirun -version 
> mpirun (Open MPI) 4.1.1

I can compile with 
> make
and after I get the executable I type
> mpirun -np 4 ./step-17

Unfortunately, the I obtain the following error message. Does anyone know how to solve this? 

At least one pair of MPI processes are unable to reach each other for MPI communications.  This means that no Open MPI device has indicated that it can be used to communicate between these processes.  This is an error; Open MPI requires that all MPI processes be able to reach each other.  This error can sometimes be the result of forgetting to specify the "self" BTL.

  Process 1 ([[19907,1],1]) is on host: MacBook-Pro-of-Bob

  Process 2 ([[19907,1],0]) is on host: MacBook-Pro-of-Bob

  BTLs attempted: self tcp vader


Your MPI job is now going to abort; sorry.

----------------------------------------------------------------------------------------------------------------------------------------------------

MPI_INIT has failed because at least one MPI process is unreachable from another.  This *usually* means that an underlying communication plugin -- such as a BTL or an MTL -- has either not loaded or not allowed itself to be used.  Your MPI job will now abort.

You may wish to try to narrow down the problem;

 * Check the output of ompi_info to see which BTL/MTL plugins are  available.

 * Run your application with MPI_THREAD_SINGLE.

 * Set the MCA parameter btl_base_verbose to 100 (or mtl_base_verbose,   if using MTL-based communications) to see exactly which  communication plugins were considered and/or discarded.


Best regards,

Bob

Jean-Paul Pelteret

unread,
Jun 26, 2021, 4:35:23 PM6/26/21
to dea...@googlegroups.com
Hi Bob,

I think that for anyone to be able to try to help diagnose the source of this problem, they’d have to know the specifics about the way that you’ve installed deal.II. Are you using the Mac package, or have you built deal.II from source? If the latter, then can you please provide us with the build logs (“summary.log" and “detailed.log")?

Best,
Jean-Paul

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/6bcd4bd4-3af0-45f6-98de-5dd102d2fb6an%40googlegroups.com.

Jean-Paul Pelteret

unread,
Jun 28, 2021, 3:52:26 PM6/28/21
to dea...@googlegroups.com
Hi Bob,

I’ve copied your message to me back onto the mailing list.

Yes, as you observed you need to use the terminal that opens when you run the deal.II application. I’m glad that you figured this out. When you run the app, it sets up the local environment (for that specific terminal instance) such that everything that your executable (compiled in the same terminal) requires is available to the loaded and used. Since these dependent libraries are, effectively, sandboxed inside the deal.II app, running your executable outside of its terminal means that those libraries are not available for use.

Best,
Jean-Paul

On 27. Jun 2021, at 22:37, bob bill <vef...@gmail.com> wrote:

Dear Jean-Paul,

Yes, I installed deal.II with the prepacked image file .dmg for macOS, but I used to compile my deal.II projects from command line, instead of using the dealii terminal. I've just noticed that if I use the dealii terminal, and try to run in parallel my dealii projects with mpirun, it works perfectly. 

If, instead, I use the usual command line, I got the error in my previous message, but I don't see any "summary.log" or "detailed.log" file. 

Best,
Bob

bob bill

unread,
Jun 28, 2021, 5:59:00 PM6/28/21
to deal.II User Group

Hi Jean-Paul,
I didn't mean to send you a private message, thanks for posting me message back here ! Your explanation makes perfectly sense to me.

Thanks again for the support,
Bob

luca.heltai

unread,
Jun 29, 2021, 2:56:22 AM6/29/21
to Deal.II Users
Alternatively, if you want to use deal.II in your daily terminal, you could follow the instructions that come in the deal.II terminal, i.e., add this to your .zshrc:

export DEAL_II_CONF_SILENT=ON
. /Applications/deal.II.app/Contents/MacOS/dealii.conf

Best,
Luca.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/EC08BEEF-F6AB-4D46-8733-28EF7D68F32B%40gmail.com.

Reply all
Reply to author
Forward
0 new messages