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.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to