Ralph Castain wrote:
> I have two examples so far:
> 1. using a ramdisk, /tmp was set to 10MB. OMPI was run on a single
> node, 2ppn, with btl=openib,sm,self. The program started, but
> segfaulted on the first MPI_Send. No warnings were printed.
Interesting. So far as I can tell, the actual memory consumption (total
number of allocations in the mmapped segment) for 2 local processes
should be a little more than half a Mbyte. The bulk of that would be
from fragments (chunks). There are btl_sm_free_list_num=8 per process,
each of btl_sm_max_frag_size=32K. So, that's 8x2x32K=512Kbyte.
Actually, a little bit more. Anyhow, that accounts for most of the
allocations, I think. Maybe if you're sending a lot of data, more gets
allocated at MPI_Send time. I don't know.
While only < 1 Mbyte is needed, however, mpool_sm_min_size=128M will be
It doesn't make sense that this case would fail, but the next case
should run. Are you sure this is related to the SM backing file?
> 2. again with a ramdisk, /tmp was reportedly set to 16MB (unverified
> - some uncertainty, could be have been much larger). OMPI was run on
> multiple nodes, 16ppn, with btl=openib,sm,self. The program ran to
> completion without errors or warning. I don't know the communication
> pattern - could be no local comm was performed, though that sounds