[R-sig-hpc] Get identical results for parallel and sequential?

Hana Sevcikova hanas at uw.edu
Sun Feb 12 04:02:40 CET 2012


Libo,

The snowFT package can do that:

performParallel(2, c(1,1), rnorm, seed=1:6) # runs on 2 nodes
[[1]]
[1] -3.087424

[[2]]
[1] 0.5293005

performParallel(0, c(1,1), rnorm, seed=1:6) # runs sequentially
[[1]]
[1] -3.087424

[[2]]
[1] 0.5293005

Hana



On 2/11/12 5:25 PM, Libo Sun wrote:
> Thanks, but I still don't know how to make this very simple example get the
> same result?
>
>> sfSapply(c(1,1),rnorm)
> [1]  1.823082 -2.222052
>> rnorm(2)
> [1] -0.5179967 -1.0807196
>
> Libo
>
>
> On Sat, Feb 11, 2012 at 5:50 PM, Norm Matloff<matloff at cs.ucdavis.edu>wrote:
>
>> No, it's certainly not sufficient to simply make sure the same random
>> number stream is used.
>>
>> Depending on the manner in which work is partitioned to processes,
>> things can occur in an order different from that one gets in a
>> sequential version.
>>
>> In typical cases, this will affect only roundoff error, and the parallel
>> and sequential results should be close to each other.
>>
>> But they could be quite different.  Say for instance you are doing
>> variable selection in regression.  Different partitions of the data
>> could give different sets of predictor variables being chosen, etc.
>>
>> So, if your results are quite different, the first guess would be that
>> you simply have a programming error, but there could be inherent
>> algorithmic issues too.
>>
>> Norm Matloff
>>
>>
>> Norm
>>
>>
>> ----- Forwarded message from Libo Sun<libosun at rams.colostate.edu>  -----
>>
>> Date: Sat, 11 Feb 2012 16:39:52 -0700
>> From: Libo Sun<libosun at rams.colostate.edu>
>> To: Dirk Eddelbuettel<edd at debian.org>
>> Cc: r-sig-hpc at r-project.org
>> Subject: Re: [R-sig-hpc] Get identical results for parallel and sequential?
>>
>> How to do that? By using sfClusterSetupRNGstream or sfClusterSetupRNG, it
>> can reproduces the same parallel result, but it cannot give me the same
>> result as sequential mode.
>>
>> Libo
>>
>> On Sat, Feb 11, 2012 at 4:26 PM, Dirk Eddelbuettel<edd at debian.org>  wrote:
>>
>>> On 11 February 2012 at 15:27, Libo Sun wrote:
>>> | Hi All,
>>> |
>>> | I have a question about R parallel computing by using snowfall.
>>> |
>>> | How can I set the seeds on parallel workers to get the same result as
>>> | sequential mode?
>>> |
>>> | For example:
>>> |
>>> |>  sfSapply(c(1,1),rnorm)
>>> | [1]  1.823082 -2.222052
>>> |>  rnorm(2)
>>> | [1] -0.5179967 -1.0807196
>>> |
>>> | How to get the identical result?
>>>
>>> By making sure the RNG streams are initialised identically on all nodes.
>>>
>>> Dirk
>>>
>>> --
>>> "Outside of a dog, a book is a man's best friend. Inside of a dog, it is
>>> too
>>> dark to read." -- Groucho Marx
>>>
>>          [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-hpc mailing list
>> R-sig-hpc at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-hpc
>>
>> ----- End forwarded message -----
>>
>> _______________________________________________
>> R-sig-hpc mailing list
>> R-sig-hpc at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-hpc
>>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-hpc mailing list
> R-sig-hpc at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-hpc



More information about the R-sig-hpc mailing list