[Bioc-devel] reproducible with mclapply?

Yu, Guangchuang gcyu at connect.hku.hk
Wed Jun 3 09:11:54 CEST 2015


Dear all,

I have an issue of setting seed value when using parallel package.

> library("parallel")
> library("digest")
>
> set.seed(0)
> m <- mclapply(1:10, function(x) sample(1:10),
+               mc.cores=2)
> digest(m, 'crc32')
[1] "4827c80c"
>
> set.seed(0)
> m <- mclapply(1:10, function(x) sample(1:10),
+               mc.cores=2)
> digest(m, 'crc32')
[1] "e95b9134"

By default, set.seed() will be ignored since mclapply will set the seed
internally.

If we use mc.set.seed=FALSE to disable this feature. It works as indicated
below:

> set.seed(0)
> m <- mclapply(1:10, function(x) sample(1:10),
+               mc.cores=2, mc.set.seed = FALSE)
> digest(m, 'crc32')
[1] "6bbada78"
>
> set.seed(0)
> m <- mclapply(1:10, function(x) sample(1:10),
+               mc.cores=2, mc.set.seed = FALSE)
> digest(m, 'crc32')
[1] "6bbada78"

The problems is that the results are also depending on the number of cores.

> set.seed(0)
> m <- mclapply(1:10, function(x) sample(1:10),
+               mc.cores=4, mc.set.seed = FALSE)
> digest(m, 'crc32')
[1] "a22e0aab"


Any idea?

Best Regards,
Guangchuang
-- 
--~--~---------~--~----~------------~-------~--~----~
Guangchuang Yu, PhD Candidate
State Key Laboratory of Emerging Infectious Diseases
School of Public Health
The University of Hong Kong
Hong Kong SAR, China
www: http://ygc.name
-~----------~----~----~----~------~----~------~--~---

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list