如题,楼主尝试使用 future 包做简单的并行计算,但是失败了,报的错误如下。但是俺粗略翻了翻https://cran.r-project.org/web/packages/future/vignettes/future-1-overview.html还有https://cran.r-project.org/web/packages/future/future.pdf,都并没有提到要有注册并行后端这个步骤。请路过的小伙伴们帮忙看看呐。
Warning: executing %dopar% sequentially: no parallel backend registered
代码如下:
library(future)
library(glmnet)
X <- matrix(rnorm(6e5 * 200), 6e5, 200)
Y <- rnorm(6e5)
# 设置计算资源为单节点多进程
plan(multisession, workers = 3)
# 确认当前可用核心数,比如前面填3,这里显示3
nbrOfWorkers()
# 全局变量大小限制默认为500MB,future.globals.maxSize单位为KiB,而不是MiB
options(future.globals.maxSize = 1024 * 1024 ^ 2)
# 设置生成随机数种子,否则可能会无法通过future.rng.onMisuse的检查
result <- future({
system.time(cv.glmnet(X, Y, parallel = TRUE))
}, seed = TRUE)
# 获取执行结果
v <- value(result)
v
# 通过切换计划关闭多会话进程
plan(sequential)
closeAllConnections()
环境信息如下:
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS: /R-4.0.3/lib64/R/lib/libRblas.so
LAPACK: /R-4.0.3/lib64/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] future_1.21.0 snow_0.4-4 glmnet_4.1-2 Matrix_1.5-3 doParallel_1.0.16
[6] iterators_1.0.13 foreach_1.5.1 Cairo_1.5-12.2 xgboost_1.3.2.1 dplyr_1.1.0
[11] bigstep_1.0.3 DT_0.18 corrplot_0.90 scorecard_0.3.1 data.table_1.14.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.6 lattice_0.20-41 listenv_0.8.0 digest_0.6.27
[5] utf8_1.2.1 parallelly_1.26.0 R6_2.5.0 bigmemory.sri_0.1.3
[9] evaluate_0.14 ggplot2_3.4.1 pillar_1.6.1 rlang_1.1.0
[13] rstudioapi_0.13 bigmemory_4.5.36 rmarkdown_2.10 splines_4.0.3
[17] RcppEigen_0.3.3.9.1 htmlwidgets_1.5.3 munsell_0.5.0 compiler_4.0.3
[21] xfun_0.25 pkgconfig_2.0.3 speedglm_0.3-3 shape_1.4.6
[25] globals_0.14.0 htmltools_0.5.2 tidyselect_1.2.0 tibble_3.1.2
[29] gridExtra_2.3 codetools_0.2-16 fansi_0.5.0 crayon_1.4.1
[33] MASS_7.3-53 grid_4.0.3 gtable_0.3.0 lifecycle_1.0.3
[37] magrittr_2.0.1 scales_1.2.1 zip_2.2.0 cli_3.6.0
[41] stringi_1.7.3 ellipsis_0.3.2 generics_0.1.0 vctrs_0.6.0
[45] openxlsx_4.1.5 tools_4.0.3 glue_1.6.2 fastmap_1.1.0
[49] survival_3.2-7 yaml_2.2.1 colorspace_2.0-2 knitr_1.33