Skip to content
Prev 1867 / 2152 Next

Rmpi loads 2 versions of the same library [SOLVED, BUT..]

I'm happy to report that Rmpi now loads only my personal MPI libraries.
I believe the critical change was to the dlopen code in Rmpi.c to be
          //Ross Boylan changes order to search for mpi.so before mpi.so.1                                                            
          // 2014-03-13                                                                                                               
    if (!dlopen("libmpi.so", RTLD_GLOBAL | RTLD_LAZY)
        && !dlopen("libmpi.so.0", RTLD_GLOBAL | RTLD_LAZY)){
but I changed a lot of other things too: rebuilt MPI with special
options, rebuilt local copy of R set for local MPI; rebuilt Rmpi against
both.  I followed the advice from Bennet Fauber here:
http://www.open-mpi.org/community/lists/users/2014/03/23823.php
(though I didn't do precisely what he said).

I'm not so happy to report that the original problem that motivated the
whole exercise remains; in fact it's gotten slightly worse.
mpi.isend.Robj does not seem to be working properly.  I am sending to a
fake receiver (at rank 1) that does nothing but print a message when it
gets a message.  r is a list with
length(serialize(r, NULL))
[1] 599499
Fake Assembler: 0 4 numeric
NULL
mpi.isend.Robj(1, 1, 4)  # isend of number works
mpi.isend.Robj(r, 1, 4)  # sometimes this used to work the first time
mpi.isend.Robj(r, 1, 4)
# never get the command prompt back

Ross
On Thu, 2014-03-13 at 12:16 -0700, Ross Boylan wrote: