[R] Installing Rmpi on Fedora Linux [was: Re: help installing Rmpi]

Allan Engelhardt allane at cybaea.com
Fri Jun 12 12:24:34 CEST 2009


For future reference, I put up the instructions here: 
http://www.cybaea.net/Blogs/Data/R-tips-Installing-Rmpi-on-Fedora-Linux.html

Allan

On 12/06/09 10:59, Allan Engelhardt wrote:
>
> On 11/06/09 22:46, ALAN SMITH wrote:
>> Hello R users and developers,
>> I would like to install Rmpi so that I may take advantage of all of
>> the CPUs in my computer
> Package "multicore" *may* be easier for this.
>> , but I cannot get it to install [...]
> The configuration file for Rmpi is, unfortunately, completely 
> brain-damaged with hard-coded assumptions about which subdirectories 
> should contain header and library files and no way of overriding it.  
> This is what I did:
>> [...]
>> #I have tried two different ways to install openMPI in fedora in the 
>> linux shell
> In any recent version of Fedora don't do any of what you suggest; 
> instead do
>
> # yum install openmpi openmpi-devel openmpi-libs
>
> Then *download* the Rmpi package and unpack it using something like
>
> $ tar xvf Rmpi_0.5-7.tar.gz
>
> (version number may be different).
>
> Then go into the Rmpi directory and change configure.ac.  If you are 
> on a x86_64 platform, the following hack should work (for 32 bit try 
> s/64/32/g):
>
> +++[cut here]+++
>  Process this file with autoconf to produce a configure script.
>
> AC_INIT(DESCRIPTION)
>
> AC_PROG_CC
>
>
> MPI_LIBS=`pkg-config --libs openmpi-1.3.1-gcc-64`
> MPI_INCLUDE=`pkg-config --cflags openmpi-1.3.1-gcc-64`
> MPITYPE="OPENMPI"
> MPI_DEPS="-DMPI2"
>
> AC_CHECK_LIB(util, openpty, [ MPI_LIBS="$MPI_LIBS -lutil" ])
> AC_CHECK_LIB(pthread, main, [ MPI_LIBS="$MPI_LIBS -lpthread" ])
>
>
> PKG_LIBS="${MPI_LIBS} -fPIC"
> PKG_CPPFLAGS="${MPI_INCLUDE} ${MPI_DEPS} -D${MPITYPE} -fPIC"
>
> AC_SUBST(PKG_LIBS)
> AC_SUBST(PKG_CPPFLAGS)
> AC_SUBST(DEFS)
>
> AC_OUTPUT(src/Makevars)
> ---[cut here]---
>
> The number 1.3.1 may change in future updates to Fedora, I guess....
>
> Now (still in Rmpi directory) do
>
> $ autoconf
> $ cd ..
> $ tar zcvf Rmpi-0.5-7-F1.tar.gz Rmpi
> $ R CMD INSTALL Rmpi-0.5-7-F1.tar.gz
>
> Which more-or-less works in R:
>
> > library("Rmpi")
> > mpi.spawn.Rslaves(nslaves=2)
>     2 slaves are spawned successfully. 0 failed.
> master (rank 0, comm 1) of size 3 is running on: server
> slave1 (rank 1, comm 1) of size 3 is running on: server
> slave2 (rank 2, comm 1) of size 3 is running on: server
> > x=c(10,20)
> > mpi.apply(x,runif)
> [[1]]
>  [1] 0.25142616 0.93505554 0.03162852 0.71783194 0.35916139 0.85082154
>  [7] 0.35404191 0.14221315 0.60063773 0.71805190
>
> [[2]]
>  [1] 0.84157864 0.63481773 0.38217188 0.67839089 0.27827728 0.35429266
>  [7] 0.04898744 0.96601584 0.25687905 0.77381186 0.69011927 0.37391028
> [13] 0.19017369 0.51196594 0.51970563 0.15791524 0.21358237 0.69642478
> [19] 0.12690207 0.44177656
>
> >
>
> Hope this helps!
>
> Allan.
>




More information about the R-help mailing list