#995: used shared memory on a node to share EOS table ------------------------------------+--------------------------------------- Reporter: rhaas | Owner: Type: enhancement | Status: review Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: EOS_Omni ------------------------------------+---------------------------------------
Comment (by eschnett):
doBcast is not defined reliably; it relies on a process id, which may be the same on different nodes. Using MPI_Hostname may be a better way. Carpet already collects host names and converts them to integers; you may be able to query this.
I don't think it is legal to use different sizes on different processes in MPI_Bcase. I would assume that the sender still sends all data, but the receiver ignores some of it, and the data remain stuck in a buffer. MPI_Alltoallv may be necessary.
I still worry that the shared memory segments are created in the code, but are never deleted. If I recall correctly, the operating system does not delete them automatically when a process ends. The command "icps" lists all such segments -- please check whether you have a memory leak.