title: How do I remove the memory limit on openmpi processes?
body: <p>I'm running a process with mpirun and 2 cores and it gets killed at the point when I'm mixing values between the two processes. Both processes use about 15% of the machines memory and even though the memory will increase when mixing, there should still be plenty of memory left. So I'm assuming that there is a limit on the amount of memory used for passing messages in between the processes. <strong>How do I find out what this limit is and how do I remove it?</strong> </p>
  
  <p>The error message that I'm getting when mpirun dies is this:</p>
  
  <pre><code>File "Comm.pyx", line 864, in mpi4py.MPI.Comm.bcast (src/mpi4py.MPI.c:67787)
  File "pickled.pxi", line 564, in mpi4py.MPI.PyMPI_bcast (src/mpi4py.MPI.c:31462)
  File "pickled.pxi", line 93, in mpi4py.MPI._p_Pickle.alloc (src/mpi4py.MPI.c:26327)
  SystemError: Negative size passed to PyBytes_FromStringAndSize
  </code></pre>
  
  <p>And this is the bit of the code that leads to the error:</p>
  
  <pre><code>sum_updates_j_k = numpy.zeros((self.col.J_total, self.K), dtype=numpy.float64))        
  comm.Reduce(self.updates_j_k, sum_updates_j_k, op=MPI.SUM) 
  sum_updates_j_k = comm.bcast(sum_updates_j_k, root=0) 
  </code></pre>
  
  <p>The code usually works, it only runs into problems with larger amounts of data, which makes the size of the matrix that I'm exchanging between processes increase</p>