From bdea64b482b1d34c9eed69be9f3dcf0714dde3fa Mon Sep 17 00:00:00 2001 From: David Cortes Date: Thu, 7 Apr 2022 21:36:29 +0200 Subject: [PATCH 1/2] temporary workaround for not modifying global OMP config --- R-package/DESCRIPTION | 2 +- R-package/NAMESPACE | 2 ++ R-package/R/lgb.train.R | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/R-package/DESCRIPTION b/R-package/DESCRIPTION index 7efb865f33e8..7d70e00d22f5 100755 --- a/R-package/DESCRIPTION +++ b/R-package/DESCRIPTION @@ -50,7 +50,6 @@ VignetteBuilder: knitr Suggests: knitr, processx, - RhpcBLASctl, rmarkdown, testthat Depends: @@ -63,6 +62,7 @@ Imports: Matrix (>= 1.1-0), methods, parallel, + RhpcBLASctl, utils SystemRequirements: C++11 diff --git a/R-package/NAMESPACE b/R-package/NAMESPACE index 33152e33bc1d..b56a6d1d7c06 100644 --- a/R-package/NAMESPACE +++ b/R-package/NAMESPACE @@ -40,6 +40,8 @@ export(slice) import(methods) importFrom(Matrix,Matrix) importFrom(R6,R6Class) +importFrom(RhpcBLASctl,omp_get_max_threads) +importFrom(RhpcBLASctl,omp_set_num_threads) importFrom(data.table,":=") importFrom(data.table,as.data.table) importFrom(data.table,data.table) diff --git a/R-package/R/lgb.train.R b/R-package/R/lgb.train.R index 5557399aa47d..52d38a9b4474 100644 --- a/R-package/R/lgb.train.R +++ b/R-package/R/lgb.train.R @@ -1,3 +1,5 @@ +#' @name importFrom RhpcBLASctl omp_get_max_threads omp_set_num_threads + #' @name lgb.train #' @title Main training logic for LightGBM #' @description Logic to train with LightGBM @@ -149,6 +151,10 @@ lgb.train <- function(params = list(), interaction_constraints <- params[["interaction_constraints"]] params["interaction_constraints"] <- NULL + # This is a temporary workround for GH issue 4705 + curr_threads <- RhpcBLASctl::omp_get_max_threads() + on.exit(RhpcBLASctl::omp_set_num_threads(curr_threads)) + # Construct datasets, if needed data$update_params(params = params) data$construct() From 7e6f214a39adccd1c22d2ef44077849d90e1e70f Mon Sep 17 00:00:00 2001 From: David Cortes Date: Thu, 7 Apr 2022 22:00:40 +0200 Subject: [PATCH 2/2] correct wrong roxygen command: --- R-package/R/lgb.train.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R-package/R/lgb.train.R b/R-package/R/lgb.train.R index 52d38a9b4474..f57486ab3c38 100644 --- a/R-package/R/lgb.train.R +++ b/R-package/R/lgb.train.R @@ -1,4 +1,4 @@ -#' @name importFrom RhpcBLASctl omp_get_max_threads omp_set_num_threads +#' @importFrom RhpcBLASctl omp_get_max_threads omp_set_num_threads #' @name lgb.train #' @title Main training logic for LightGBM