How exactly to I link "SLURM's implementation of the PMI library" with my executable ? Which path must i give ? The documentation just mentions mpicc -L<path_to_slurm_lib> -lpmi ... I don't understand what exactly I should write in <path_to_slurm_lib>
On Tue, Nov 26, 2013 at 7:06 PM, Jonathan Perkins < [email protected]> wrote: > This depends on your cluster's setup. If you built your MPI application > on a shared filesystem that is available on each node then you do not need > to broadcast the executables around and should be able to use the srun > command directly. > > One other thing that you need to keep in mind is that the supporting > libraries (such as MVAPICH2) also needs to be installed or available on > each of the nodes as well (assuming you are using shared libraries). > > If you are having trouble getting MPI running with MVAPICH2 I suggest that > you build a debug version without slurm support (initially) and use salloc > --> scontrol show hostnames > hosts --> mpirun_rsh. This should provide > more output on failures. > > > http://mvapich.cse.ohio-state.edu/support/user_guide_mvapich2-2.0b.html#x1-1230009.1.11 > > > On Tue, Nov 26, 2013 at 6:01 AM, Arjun J Rao <[email protected]>wrote: > >> To run a job with MVAPICH2 under SLURM, I configured SLURM with >> ./configure --with-pm=no --with-pmi=slurm >> >> Then, I have a doubt with compiling MPI jobs. The SLURM documentation >> mentions that we need to link the slurm_lib with the executable during the >> compilation step >> mpicc -L<path to slurm lib> -lpmi HelloWorld.c >> >> I used the /usr/local/lib/slurm as the path to the SLURM lib and got the >> executable a.out >> >> After compilation, can I run the executables directly using the >> srun -n4 --mpi=none a.out command ? >> >> Or do I have to use >> salloc -N2 bash >> sbcast the executables around >> srun .. >> >> Which is the correct way ? >> > > > > -- > Jonathan Perkins > http://www.cse.ohio-state.edu/~perkinjo >
