[R-sig-hpc] request help with replication and snowFT

Paul Johnson pauljohn32 at gmail.com
Sat Jul 23 00:15:10 CEST 2011


Hi, everybody.

I finally got back to my hpc work and want to use the snowFT framework
to replicate random number streams.  In my test applications, I'm
failing utterly.

Here is example code from the snowFT manual, the only difference is
that we are on OpenMPI.  Run the same commands twice.  I believe they
should give the same numbers, but they don't.

cl <- makeClusterFT(3, type="MPI")
r<-10
clusterSetupRNG.FT(cl, streamper="replicate",n=r, seed=rep(1,6))
res<-clusterApplyFT(cl,rep(5,10),rnorm)
stopCluster(res[[2]])
print(res[[1]])

cl <- makeClusterFT(3, type="MPI")
r<-10
clusterSetupRNG.FT(cl, streamper="replicate",n=r, seed=rep(1,6))
res<-clusterApplyFT(cl,rep(5,10),rnorm)
stopCluster(res[[2]])
print(res[[1]])


Here's the output.

>
> library(snowFT)
>
>
> cl <- makeClusterFT(3, type="MPI")
	3 slaves are spawned successfully. 0 failed.
> r<-10
> clusterSetupRNG.FT(cl, streamper="replicate",n=r, seed=rep(1,6))
[1] "RNGstream" "replicate"
> res<-clusterApplyFT(cl,rep(5,10),rnorm)
> stopCluster(res[[2]])
[1] 1
> print(res[[1]])
[[1]]
[1] -0.1456025  1.3072949 -1.0957783  0.6168508  0.6448932

[[2]]
[1]  1.63010246 -0.23033278 -0.91349106 -0.03618282  3.30093452

[[3]]
[1]  0.3667690 -0.3776691 -2.1429295 -1.0149990 -0.1546822

[[4]]
[1] -0.2193551  1.9246829 -0.1609943 -0.2835361  1.5796259

[[5]]
[1] -0.2151461  1.8466480 -0.8347105 -0.1572832  1.1244531

[[6]]
[1] -1.0051997  1.8332684 -1.0159134 -0.2503565 -1.0492845

[[7]]
[1] -0.7926305  0.9066504 -0.5414232 -0.8936676 -0.4695451

[[8]]
[1] -0.01403189  0.94844300 -1.55585713 -0.64284893 -0.96375069

[[9]]
[1] -1.5221444  0.3433271 -0.6120788  1.3496397  0.8353766

[[10]]
[1]  0.73350122  0.07025138  0.44000765 -0.32853919 -2.00299434

>
> cl <- makeClusterFT(3, type="MPI")
	3 slaves are spawned successfully. 0 failed.
> r<-10
> clusterSetupRNG.FT(cl, streamper="replicate",n=r, seed=rep(1,6))
[1] "RNGstream" "replicate"
> res<-clusterApplyFT(cl,rep(5,10),rnorm)
> stopCluster(res[[2]])
[1] 1
> print(res[[1]])
[[1]]
[1] -0.8417970  0.2168521 -0.6801217 -1.1004275  1.9878556

[[2]]
[1]  0.05736959 -0.02219014 -0.24350810 -0.67493732  1.12872995

[[3]]
[1]  2.1888386 -0.6185255  0.6155721 -0.9960713 -0.3225214

[[4]]
[1]  0.2889124 -0.7812625  0.6137595 -0.4277711 -0.9265217

[[5]]
[1]  1.1439147 -0.8985090 -0.7180237 -0.8555336 -0.7178986

[[6]]
[1]  0.7085318 -0.9131429  0.8304874  0.9064519 -0.4819298

[[7]]
[1] 0.89758192 0.69964093 0.65992814 1.04772400 0.04638749

[[8]]
[1]  0.5077768  2.6082531 -0.4321813 -0.6506362  0.1527894

[[9]]
[1] -1.1617166  0.9932200 -1.1405765  0.9429077 -0.8969591

[[10]]
[1] -1.0571084  1.2550529  0.2394692 -1.1023199 -0.4573881

>

In the cluster nodes, we have R 2.13.0 and OpenMPI version 1.4.1


-- 
Paul E. Johnson
Professor, Political Science
1541 Lilac Lane, Room 504
University of Kansas



More information about the R-sig-hpc mailing list