Closed EmileFaure closed 1 year ago
Thank you for your post @EmileFaure. What you've noted is totally correct. After I spent a bit of time exploring the source code, I've realised that this issue a bit larger than just a lack of parallelisation in tune.spls()
. If you're interested, feel free to read the information in Issue #216.
As far as it should concern you, I will attempt to rectify the lack of any parallelisation in tune.spls()
prior to any other fixes/enhancements.
G'day @EmileFaure. Thought I'd let you know that I've implemented a fix for this issue and that it is accessible on branch issue-214. Please let me know if there are any issues you run into
π Describe the bug:
tune.spls is not using multicore processing even with BPPARAM set correctly.
π reprex results from reproducible example including sessioninfo():
Monitoring of this code from the package vignette:
--> Only one CPU is used
--> Multiple CPUs are used in parallel.
Session info:
π€ Expected behavior:
tune.spls should be parallelized over the workers registered in the BiocParallel environment.
π‘ Possible solution:
In source code of tune.spca, the call of iterations over the keeping of X is made through bplapply:
test.keepX.cors <- bplapply(X=all.keepX, FUN=iter_keepX, BPPARAM = BPPARAM)
In the one of tune.spls, there seem to be no use of any of the basic functions of BiocParallel. It looks to me as the presence of the BiocParallel backend is only playing a role on whether the progress bar is printed or not. If I'm wrong, do you have any idea of why this could happen on my system ? Thank you very much !