Warning messages while parallel computing
The warnings come from the garbage collector, which may be called from almost anywhere. It is possible that the file that is sourced causes the problem, but if you don't call parallel::stopCluster before removing the cluster object you will get those warnings.
cl <- parallel::makeCluster(3, type="PSOCK") invisible(gc()) rm(cl) invisible(gc())
Warning messages: 1: In .Internal(gc(verbose, reset, full)) : closing unused connection 6 (<-Bill-T490:11216) 2: In .Internal(gc(verbose, reset, full)) : closing unused connection 5 (<-Bill-T490:11216) 3: In .Internal(gc(verbose, reset, full)) : closing unused connection 4 (<-Bill-T490:11216)
cl <- parallel::makeCluster(3, type="PSOCK") invisible(gc()) parallel::stopCluster(cl) invisible(gc()) rm(cl) invisible(gc())
The fact that he got 8 warnings when playing a cluster of size 8 makes me suspect that omitting stopCluster is the problem. -Bill On Thu, Mar 4, 2021 at 10:12 AM Henrik Bengtsson
<henrik.bengtsson at gmail.com> wrote:
I don't think 'parallel' is to blame in this case. Those warnings:
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 19
come from base::source()
[https://github.com/wch/r-source/blob/9caddc1eaad1f480283f1e98af34a328699d1869/src/library/base/R/source.R#L166-L244].
Unless there's a bug in source() that leaves connections open, which
is unlikely, I think there's something in the 'xx.R' script that opens
a connection but doesn't close it. Possibly multiple times. A good
check is to see if the same warnings are produced when calling
source("xx.R") sequentially in a for() loop or an lapply() call.
Hope this helps,
Henrik
On Thu, Mar 4, 2021 at 9:58 AM Bill Dunlap <williamwdunlap at gmail.com> wrote:
To avoid the warnings from gc(), call parallel::stopCluster(cl) before removing or overwriting cl. -Bill On Thu, Mar 4, 2021 at 1:52 AM Shah Alam <dr.alamsolangi at gmail.com> wrote:
Hello everyone,
I am using the "parallel" R package for parallel computation.
Code:
# set number of cores
cl <- makeCluster(8, type = "PSOCK") # Mac/Linux need to set as "FORK"
# pass functions and objects to the cluster environment and set seed
# all the items exported need to stay in the global environment!!
clusterCall(cl, function() { source("xx.R" )})
clusterExport(cl, list("a", "b", "c", "d",
"5"))
clusterSetRNGStream(cl, 1)
While parallel processing, I receive the following warning signs. Do I
need to ignore these signs or do they potentially slow the whole process?
* Warning signs:*
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 19
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 18
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 17
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 16
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 15
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 14
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 13
Warning in for (i in seq_len(Ne + echo)) { :
closing unused connection 12
Best regards,
Shah Alam
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.