[R] Rmpi and C Code, where to get the communicator
Markus Schmidberger
schmidb at ibe.med.uni-muenchen.de
Thu Mar 20 15:08:18 CET 2008
Hello,
I try to write parts of my code in C to accelerate the for-loops. But
basic operations I want to do in R (e.g. start cluster). My R code looks
something like this:
library(Rmpi)
mpi.spawn.Rslaves()
mpi.remote.exec(....)
dyn.load("test.so")
erg <- .Call("test", ....)
....
mpi.close.Rslaves()
mpi.quit()
And my C function looks something like this:
#include <mpi.h>
#include <R.h>
#include <Rdefines.h>
#include <Rinternals.h>
SEXP test (SEXP a, ..){
int rank;
comm ??????
MPI_Comm_rank (comm, &rank);
......
}
For all MPI functions I need the right communicator (MPI_Comm *comm;) to
communicate with the existing slaves. This variable will be generated by
spawning the Rslaves (mpi.spawn.Rslaves). But how to get to this
variable in my C function?
Is the communicator variable somewhere stored in a R variable?
( I use R 2.6.2 and Rmpi 0.5-5)
Thanks
Markus
--
Dipl.-Tech. Math. Markus Schmidberger
Ludwig-Maximilians-Universität München
IBE - Institut für medizinische Informationsverarbeitung,
Biometrie und Epidemiologie
Marchioninistr. 15, D-81377 Muenchen
URL: http://ibe.web.med.uni-muenchen.de
Mail: Markus.Schmidberger [at] ibe.med.uni-muenchen.de
Tel: +49 (089) 7095 - 4599
More information about the R-help
mailing list