- 
                Notifications
    
You must be signed in to change notification settings  - Fork 55
 
Closed
Description
By default parallel::makeCluster() uses type = "PSOCK" for its parallelism. But changing the type to "FORK" is more efficient on non-Windows systems. I suggest wherever makeCluster() is used the code be changed to
if (.Platform$OS.type == "windows") {
    cl <- parallel::makeCluster(n_cores, type = "PSOCK", outfile = "")
} else {
    cl <- parallel::makeCluster(n_cores, type = "FORK", outfile = "")
}
This also significantly reduces memory usage on systems where forking is available.
With my quick testing of 300 cells with 5000 genes and ks = 1:10 I saw the PSOCK version taking ~90 seconds and the FORK version taking ~60 seconds.
The downside would be that forks do not parallelise across clusters.
Metadata
Metadata
Assignees
Labels
No labels