I think this may be an R 2.14 vs R 2.13 difference: like you I get
different results for each run the beta of Revolution R Enterprise 6.0,
which has the R 2.14.2 engine (see below). In earlier versions of R, you
can manage parallel random number streams with the rsprng library.

By the way, you can always ask questions about Revolution R in the forum,
which is moderated by the tech support team:

http://forums.revolutionanalytics.com/forums/forum.php

HTH,
# David Smith

library(foreach)
library(doSNOW)
registerDoSNOW(makeCluster(8, type = "SOCK"))
getDoParWorkers()
getDoParName()
getDoParVersion()

mySamples <- foreach (jj = 1:4, .combine=cbind) %dopar%
{return(sample(1:10,10,replace=TRUE))}
mySamples
#
> mySamples
      result.1 result.2 result.3 result.4
 [1,]        9        4        2        1
 [2,]        1        4        6        5
 [3,]        6        1       10        4
 [4,]        4        2        2        4
 [5,]        9        1        4        8
 [6,]        2        1        4        8
 [7,]        3        2        3        3
 [8,]        1        3        6        7
 [9,]        8        8        7        5
[10,]        6        4        6        9




On Mon, May 7, 2012 at 6:18 PM, pdb <philb@philbrierley.com> wrote:

> I know this is not a revolution support forum, but as anyone noticed the
> following?
>
> I have a foreach loop to generate random samples. If I run the exact code
> below in normal r (2.14.1) it works as expected, but if I run it from
> revolution 4.2.0 each loop returns the same numbers.
>
> The only way I can get revolution to give different numbers is using 1
> instead of 8 in
> registerDoSNOW(makeCluster(8, type = "SOCK"))
>
> but that seems to defeat the point.
>
>
>
>
> library(foreach)
> library(doSNOW)
> registerDoSNOW(makeCluster(8, type = "SOCK"))
> getDoParWorkers()
> getDoParName()
> getDoParVersion()
>
>
> mySamples <- foreach (jj = 1:4, .combine=cbind) %dopar% {
>                return(sample(1:10,10,replace=TRUE))
>                }
>
> mySamples
>
> ##########
> r 2.14.1
> ##########
>
> > library(foreach)
> > library(doSNOW)
> > registerDoSNOW(makeCluster(8, type = "SOCK"))
> > getDoParWorkers()
> [1] 8
> > getDoParName()
> [1] "doSNOW"
> > getDoParVersion()
> [1] "1.0.6"
> >
> >
> > mySamples <- foreach (jj = 1:4, .combine=cbind) %dopar% {
> + return(sample(1:10,10,replace=TRUE))
> + }
> >
> > mySamples
>      result.1 result.2 result.3 result.4
>  [1,]        5        3        1        4
>  [2,]        1       10       10        3
>  [3,]        7        9        4        9
>  [4,]        2        5        9        3
>  [5,]        2        7       10        1
>  [6,]        7        8       10       10
>  [7,]        6        9       10        4
>  [8,]        8        6        6        2
>  [9,]       10        7        9        4
> [10,]        2        4        1        9
> >
>
>
> ####################
> # revolution r
> ####################
>
> > library(foreach)
> Loading required package: iterators
> Loading required package: codetools
> foreach: simple, scalable parallel programming from REvolution Computing
> Use REvolution R for scalability, fault tolerance and more.
> http://www.revolution-computing.com
> > library(doSNOW)
> Loading required package: snow
> > registerDoSNOW(makeCluster(8, type = "SOCK"))
> > getDoParWorkers()
> [1] 8
> > getDoParName()
> [1] "doSNOW"
> > getDoParVersion()
> [1] "1.0.3"
> >
> >
> > mySamples <- foreach (jj = 1:4, .combine=cbind) %dopar% {
> +               return(sample(1:10,10,replace=TRUE))
> +               }
> >
> > mySamples
>      result.1 result.2 result.3 result.4
>  [1,]        4        4        4        4
>  [2,]       10       10       10       10
>  [3,]        4        4        4        4
>  [4,]       10       10       10       10
>  [5,]        5        5        5        5
>  [6,]        5        5        5        5
>  [7,]        9        9        9        9
>  [8,]        2        2        2        2
>  [9,]        6        6        6        6
> [10,]        9        9        9        9
> >
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/revolution-foreach-oddity-tp4616237.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
David M Smith <david@revolutionanalytics.com>
VP of Marketing, Revolution Analytics  http://blog.revolutionanalytics.com
Tel: +1 (650) 646-9523 (Palo Alto, CA, USA)

	[[alternative HTML version deleted]]

