Open mtmorgan opened 5 years ago
At least one current problem is that I always initialize the backend with bpstart
at the top of functions that involve several parallelized steps, and the following fails:
library(BiocParallel)
BPPARAM <- DoparParam()
bpstart(BPPARAM)
## Error in (function (classes, fdef, mtable) :
## unable to find an inherited method for function ‘bpbackend’ for signature ‘"DoparParam"’
This should probably just be a no-op.
(from @vjcitn) The BiocParallel vignette mentions foreach support and DoParParam ... but for package authors the steps of makeCluster, registerDo and stopCluster the vignette should indicate what a package author* foreach devotee would do to take advantage of BiocParallel
1) leave registration and any cluster construction to the user outside of package code 2) whatever cluster configuration is done is done using BiocParallel facilities, culminating in a DoParParam that the user manages and passes in via BPPARAM 3) ensure that default behavior is to run in serial mode
Ultimately it seems that the effects of switching to BiocParallel are only to remove code and ensure that BPPARAM is present and used properly. So it is a gain for simplicity and maintainability, but old habits die hard