Search code examples
pythonmpi4py

mpirun crashing on certain amount of processes


having a strange issue when trying to run a simple "hello world" program with MPI.

I eventually want to use 100 processes for this MPI script I'm writing in python and was even able to run the hello world test earlier with up to 100 processes. However, now I keep encountering the same error when I try to run the script with ~50 processes.

The specific error I see seems to be stating:

ORTE_ERROR_LOG: The system limit on number of network connections a process can open was reached in file util/listener.c at line 321

After trying to research this, I understand that it has something to do with a process running out of file descriptors and it seems like the most common solutions state that a file is not closing properly. However, my issue here is, I'm not opening any files? My script is just:

print('I am process:', rank)

So what could the issue be stemming from here?


Solution

  • I seem to have found a slight workaround.

    I am working on a Mac, so I'm assuming that earlier I was able to stay under my file limit that is at a certain default amount set by the OS. By configuring the max file limit, I was able to bypass the limit amount I was originally hitting, causing my program to crash.

    This fix isn't ideal, since my script now takes quite a while to run, but it is at least a temporary one until I can find a better fix.

    If anyone would like to attempt this, the solution I found was posted by @tombigel on GitHub and can be found here.