[R] help with random numbers and Rmpi

A.J. Rossini rossini at blindglobe.net
Mon Dec 15 07:09:49 CET 2003


Did you make sure that you loaded the library that contains the C
code on the remote hosts? 

best,
-tony




Faheem Mitha <faheem at email.unc.edu> writes:

> On Mon, 1 Dec 2003, A.J. Rossini wrote:
>
>> Faheem Mitha <faheem at email.unc.edu> writes:
>>
>> > So, can this (parallelization at the C level) be done without running a
>> > bunch of C slaves along the lines I had previously written? Any examples
>> > would be helpful.
>>
>> How much heavy lifting happens before you spawn the slaves, and can
>> that not be moved to R?
>>
>> Your best bet is to read the SNOW code for handling SPRNG/RSPRNG,
>> otherwise.
>
> I've tried to use snow as suggested. I have a R function mg.randvec which
> generates a vector of random variates. This function calls a C routine via
> the .C call. This works fine if I call it like say...
>
> *********************************************************************
>> mg.randvec(3,2,10,5)
> $val
>  [1] -1.9967464 -1.8634205 -0.7459255 -1.7591047 -1.7811685 -1.9953316
>  [7] -1.7932502 -1.9823565 -1.7999789 -1.0501179 -1.9679886  0.1484859
> [13]  0.5768898  1.9117889  1.9366872 -1.3847453 -1.5554107 -1.4933195
> [19] -1.8508795 -1.6715850 -1.8951212 -1.8900167 -1.1630852 -1.3989748
> [25] -1.9400337 -1.6774471 -1.8136065 -1.8685709 -1.9119879 -1.3378416
> *********************************************************************
>
> However, with snow I get
>
> **********************************************************************
>> clusterCall(cl,mg.randvec,3,2,10,5)
> [[1]]
> [1] "Error in .C(\"rocftp\", as.integer(k), as.integer(len),
> as.double(theta),  : \n\tC/Fortran function name not in load table\n"
> attr(,"class")
> [1] "try-error"
>
> [[2]]
> [1] "Error in .C(\"rocftp\", as.integer(k), as.integer(len),
> as.double(theta),  : \n\tC/Fortran function name not in load table\n"
> attr(,"class")
> [1] "try-error"
>
> [[3]]
> [1] "Error in .C(\"rocftp\", as.integer(k), as.integer(len),
> as.double(theta),  : \n\tC/Fortran function name not in load table\n"
> attr(,"class")
> [1] "try-error"
> ********************************************************************
>
> In the cluster case it seems to have difficulty loading up the C routine.
>
> I think snow is working Ok, because basic examples like the following
> work.
>
> ********************************************************************
>> clusterCall(cl,runif,3)
> [[1]]
> [1] 0.1527429 0.1134621 0.8663094
>
> [[2]]
> [1] 0.2256776 0.8981241 0.1120226
>
> [[3]]
> [1] 0.2371450 0.5090693 0.2776081
> ******************************************************************
>
> Can anyone tell me what I am doing wrong? All data files is shared across
> all three machines I am using (AFS space).
>
> Thanks in advance.
>
>                                                             Faheem.
>

-- 
rossini at u.washington.edu            http://www.analytics.washington.edu/ 
Biomedical and Health Informatics   University of Washington
Biostatistics, SCHARP/HVTN          Fred Hutchinson Cancer Research Center
UW (Tu/Th/F): 206-616-7630 FAX=206-543-3461 | Voicemail is unreliable
FHCRC  (M/W): 206-667-7025 FAX=206-667-4812 | use Email

CONFIDENTIALITY NOTICE: This e-mail message and any attachme...{{dropped}}




More information about the R-help mailing list