[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