Symmetric Multiprocessors (SMPs) and the ch_shmem device


Up: Programming Tools Next: MPMD Programs Previous: Running programs with mpirun

On many of the shared-memory implementations, mpich reserves some shared memory in which messages are transferred back and forth. By default, mpich reserves roughly four MBytes of shared memory. You can change this with the environment variable MPI_GLOBMEMSIZE. For example, to make it 8 MB, enter

    setenv MPI_GLOBMEMSIZE 8388608 
Large messages are transfered in fragments, so MPI_GLOBMEMSIZE does not limit the maximum message size but increasing it may improve performance. Also note that systems may limit the amount of shared memory available.

By default, mpich limits the number of processes for the ch_shmem device to 32, unless it determines at configure time that the machine has more processors. You can override this limit by setting the environment variable PROCESSOR_COUNT to the maximum number of processes that you will want to run, and then reconfigure and remake mpich.



Up: Programming Tools Next: MPMD Programs Previous: Running programs with mpirun