Re: [OMPI users] Problem when installing Rmpi package in HPC cluster
We have found that virtually all Rmpi jobs need to be started with $ mpirun -np 1 R CMD BATCH This is, as I understand it, because the first R will initialize the MPI environment and then when you create the cluster, it wants to be able to start the rest of the processes. When you intialize the rest of the workers, it should be with one less than the total number of processors. Something like mpi.spawn.Rslaves(nslaves=mpi.universe.size()-1) We have a very trivial example at http://arc-ts.umich.edu/software/rmpi/ I have also found that making sure to add the profile that is included with Rmpi is also needed. I do this by adding two lines to the R executable script near the top to set and export the and renaming that Rmpi. The profile should be in the Rmpi installation directory. In our case, that makes the first few lines of the R startup script look like #!/bin/sh # Shell wrapper for R executable. R_PROFILE=/usr/cac/rhel6/Rmpi/R-3.2.2/0.6-5/Rmpi/Rprofile export R_PROFILE R_HOME_DIR=/usr/cac/rhel6/R/3.2.2/lib64/R Things get dicier if you are using doMPI on top of Rmpi rather than Rmpi itself. Just in case that is of any help, -- bennet On Mon, Jul 11, 2016 at 7:52 PM, Gilles Gouaillardetwrote: > Note this is just a workaround, this simply disables the mxm mtl (e.g. > Mellanox optimized infiniband driver). > > > basically, there are two ways to run a single task mpi program (a.out) > > - mpirun -np 1 ./a.out (this is the "standard" way) > > - ./a.out (aka singleton mode) > > the logs you posted do not specify how the test was launch (e.g. with or > without mpirun) > > > bottom line, if you hit a singleton limitation (e.g. mxm/mtl is not working > in singleton mode), then you can simply > > mpirun -np a.out > > your Rmpi applications, and this should be just fine. > > > if not, you need to > > export OMPI_MCA_pml=ob1 > > regardless you are using mpirun or not. > > /* and for the sake of completion, if you are using mpirun, an equivalent > option is to > > mpirun --mca pml ob1 ... > > */ > > > Cheers, > > Gilles > > On 7/12/2016 1:34 AM, pan yang wrote: > > Dear Gilles, > > I tried export OMPI_MCA_pml=ob1, and it worked! Thank you very much for your > brilliant suggestion. > > By the way, I don't really understand what do you mean by 'can you also > extract the command tha launch the test ?'... > > Cheers, > Pan > > > > > ___ > users mailing list > us...@open-mpi.org > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/07/29640.php > > > > ___ > users mailing list > us...@open-mpi.org > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/07/29643.php
Re: [OMPI users] Problem when installing Rmpi package in HPC cluster
Note this is just a workaround, this simply disables the mxm mtl (e.g. Mellanox optimized infiniband driver). basically, there are two ways to run a single task mpi program (a.out) - mpirun -np 1 ./a.out (this is the "standard" way) - ./a.out (aka singleton mode) the logs you posted do not specify how the test was launch (e.g. with or without mpirun) bottom line, if you hit a singleton limitation (e.g. mxm/mtl is not working in singleton mode), then you can simply mpirun -np a.out your Rmpi applications, and this should be just fine. if not, you need to export OMPI_MCA_pml=ob1 regardless you are using mpirun or not. /* and for the sake of completion, if you are using mpirun, an equivalent option is to mpirun --mca pml ob1 ... */ Cheers, Gilles On 7/12/2016 1:34 AM, pan yang wrote: Dear Gilles, I tried export OMPI_MCA_pml=ob1, and it worked! Thank you very much for your brilliant suggestion. By the way, I don't really understand what do you mean by '/can you also extract the command tha launch the test ?/'... Cheers, Pan ___ users mailing list us...@open-mpi.org Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/07/29640.php
Re: [OMPI users] Problem when installing Rmpi package in HPC cluster
Dear Gilles, I tried export OMPI_MCA_pml=ob1, and it worked! Thank you very much for your brilliant suggestion. By the way, I don't really understand what do you mean by '*can you also extract the command tha launch the test ?*'... Cheers, Pan
Re: [OMPI users] Problem when installing Rmpi package in HPC cluster
That could be specific to mtl/mxm could you export OMPI_MCA_pml=ob1 and try again ? can you also extract the command tha launch the test ? I am curious whether this is via mpirun or as a singleton Cheers, Gilles On Monday, July 11, 2016, pan yangwrote: > Dear OpenMPI community, > > I faced this problem when I am installing the Rmpi: > > > install.packages('Rmpi',repos='http://cran.r-project.org > ',configure.args=c( > + '--with-Rmpi-include=/usr/mpi/gcc/openmpi-1.8.2/include/', > + '--with-Rmpi-libpath=/usr/mpi/gcc/openmpi-1.8.2/lib64/', > + '--with-Rmpi-type=OPENMPI')) > Installing package into ?d1/pyangac/R_lilbs? > (as 滎ib?is unspecified) > trying URL 'http://cran.r-project.org/src/contrib/Rmpi_0.6-6.tar.gz' > Content type 'application/x-gzip' length 105181 bytes (102 Kb) > opened URL > == > downloaded 102 Kb > > * installing *source* package 槔mpi?... > ** package 槔mpi?successfully unpacked and MD5 sums checked > checking for openpty in -lutil... no > checking for main in -lpthread... no > configure: creating ./config.status > config.status: creating src/Makevars > ** libs > gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -DPACKAGE_NAME=\"\" > -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" > -I/usr/mpi/gcc/openmpi-1.8.2/include/ -DMPI2 -DOPENMPI > -I/usr/local/include-fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 > -mtune=generic -c Rmpi.c -o Rmpi.o > gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -DPACKAGE_NAME=\"\" > -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" > -I/usr/mpi/gcc/openmpi-1.8.2/include/ -DMPI2 -DOPENMPI > -I/usr/local/include-fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 > -mtune=generic -c conversion.c -o conversion.o > gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -DPACKAGE_NAME=\"\" > -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" > -I/usr/mpi/gcc/openmpi-1.8.2/include/ -DMPI2 -DOPENMPI > -I/usr/local/include-fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 > -mtune=generic -c internal.c -o internal.o > gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so Rmpi.o > conversion.o internal.o -L/usr/mpi/gcc/openmpi-1.8.2/lib64/ -lmpi > -L/usr/lib64/R/lib -lR > installing to /d1/pyangac/R_lilbs/Rmpi/libs > ** R > ** demo > ** inst > ** preparing package for lazy loading > ** help > *** installing help indices > converting help for package 槔mpi? > finding HTML links ... done > hosts html > internalhtml > mpi.abort html > mpi.apply html > mpi.barrier html > mpi.bcast html > mpi.bcast.Robj html > mpi.bcast.cmd html > mpi.cart.coords html > mpi.cart.create html > mpi.cart.gethtml > mpi.cart.rank html > mpi.cart.shift html > mpi.cartdim.get html > mpi.commhtml > mpi.comm.disconnect html > mpi.comm.free html > mpi.comm.inter html > mpi.comm.set.errhandler html > mpi.comm.spawn html > mpi.const html > mpi.dims.create html > mpi.exithtml > mpi.finalizehtml > mpi.gather html > mpi.gather.Robj html > mpi.get.count html > mpi.get.processor.name html > mpi.get.sourcetag html > mpi.iapply html > mpi.infohtml > mpi.intercomm.merge html > mpi.parSim html > mpi.parapplyhtml > mpi.probe html > mpi.realloc html > mpi.reduce html > mpi.remote.exec html > mpi.scatter html > mpi.scatter.Robjhtml > mpi.sendhtml > mpi.send.Robj html >
[OMPI users] Problem when installing Rmpi package in HPC cluster
Dear OpenMPI community, I faced this problem when I am installing the Rmpi: > install.packages('Rmpi',repos='http://cran.r-project.org ',configure.args=c( + '--with-Rmpi-include=/usr/mpi/gcc/openmpi-1.8.2/include/', + '--with-Rmpi-libpath=/usr/mpi/gcc/openmpi-1.8.2/lib64/', + '--with-Rmpi-type=OPENMPI')) Installing package into ?d1/pyangac/R_lilbs? (as 滎ib?is unspecified) trying URL 'http://cran.r-project.org/src/contrib/Rmpi_0.6-6.tar.gz' Content type 'application/x-gzip' length 105181 bytes (102 Kb) opened URL == downloaded 102 Kb * installing *source* package 槔mpi?... ** package 槔mpi?successfully unpacked and MD5 sums checked checking for openpty in -lutil... no checking for main in -lpthread... no configure: creating ./config.status config.status: creating src/Makevars ** libs gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/mpi/gcc/openmpi-1.8.2/include/ -DMPI2 -DOPENMPI -I/usr/local/include-fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c Rmpi.c -o Rmpi.o gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/mpi/gcc/openmpi-1.8.2/include/ -DMPI2 -DOPENMPI -I/usr/local/include-fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c conversion.c -o conversion.o gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I/usr/mpi/gcc/openmpi-1.8.2/include/ -DMPI2 -DOPENMPI -I/usr/local/include-fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c internal.c -o internal.o gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so Rmpi.o conversion.o internal.o -L/usr/mpi/gcc/openmpi-1.8.2/lib64/ -lmpi -L/usr/lib64/R/lib -lR installing to /d1/pyangac/R_lilbs/Rmpi/libs ** R ** demo ** inst ** preparing package for lazy loading ** help *** installing help indices converting help for package 槔mpi? finding HTML links ... done hosts html internalhtml mpi.abort html mpi.apply html mpi.barrier html mpi.bcast html mpi.bcast.Robj html mpi.bcast.cmd html mpi.cart.coords html mpi.cart.create html mpi.cart.gethtml mpi.cart.rank html mpi.cart.shift html mpi.cartdim.get html mpi.commhtml mpi.comm.disconnect html mpi.comm.free html mpi.comm.inter html mpi.comm.set.errhandler html mpi.comm.spawn html mpi.const html mpi.dims.create html mpi.exithtml mpi.finalizehtml mpi.gather html mpi.gather.Robj html mpi.get.count html mpi.get.processor.name html mpi.get.sourcetag html mpi.iapply html mpi.infohtml mpi.intercomm.merge html mpi.parSim html mpi.parapplyhtml mpi.probe html mpi.realloc html mpi.reduce html mpi.remote.exec html mpi.scatter html mpi.scatter.Robjhtml mpi.sendhtml mpi.send.Robj html mpi.sendrecvhtml mpi.setup.rng html mpi.spawn.Rslaves html mpi.universe.size html mpi.waithtml ** building package indices ** testing if installed package can be loaded -- Error obtaining unique transport key from ORTE (orte_precondition_transports not present in the