52 lines
2.4 KiB
R
52 lines
2.4 KiB
R
#' @name setLGBMThreads
|
|
#' @title Set maximum number of threads used by LightGBM
|
|
#' @description LightGBM attempts to speed up many operations by using multi-threading.
|
|
#' The number of threads used in those operations can be controlled via the
|
|
#' \code{num_threads} parameter passed through \code{params} to functions like
|
|
#' \link{lgb.train} and \link{lgb.Dataset}. However, some operations (like materializing
|
|
#' a model from a text file) are done via code paths that don't explicitly accept thread-control
|
|
#' configuration.
|
|
#'
|
|
#' Use this function to set the maximum number of threads LightGBM will use for such operations.
|
|
#'
|
|
#' This function affects all LightGBM operations in the same process.
|
|
#'
|
|
#' So, for example, if you call \code{setLGBMthreads(4)}, no other multi-threaded LightGBM
|
|
#' operation in the same process will use more than 4 threads.
|
|
#'
|
|
#' Call \code{setLGBMthreads(-1)} to remove this limitation.
|
|
#' @param num_threads maximum number of threads to be used by LightGBM in multi-threaded operations
|
|
#' @return NULL
|
|
#' @seealso \link{getLGBMthreads}
|
|
#' @export
|
|
setLGBMthreads <- function(num_threads) {
|
|
.Call(
|
|
LGBM_SetMaxThreads_R,
|
|
num_threads
|
|
)
|
|
return(invisible(NULL))
|
|
}
|
|
|
|
#' @name getLGBMThreads
|
|
#' @title Get default number of threads used by LightGBM
|
|
#' @description LightGBM attempts to speed up many operations by using multi-threading.
|
|
#' The number of threads used in those operations can be controlled via the
|
|
#' \code{num_threads} parameter passed through \code{params} to functions like
|
|
#' \link{lgb.train} and \link{lgb.Dataset}. However, some operations (like materializing
|
|
#' a model from a text file) are done via code paths that don't explicitly accept thread-control
|
|
#' configuration.
|
|
#'
|
|
#' Use this function to see the default number of threads LightGBM will use for such operations.
|
|
#' @return number of threads as an integer. \code{-1} means that in situations where parameter \code{num_threads} is
|
|
#' not explicitly supplied, LightGBM will choose a number of threads to use automatically.
|
|
#' @seealso \link{setLGBMthreads}
|
|
#' @export
|
|
getLGBMthreads <- function() {
|
|
out <- 0L
|
|
.Call(
|
|
LGBM_GetMaxThreads_R,
|
|
out
|
|
)
|
|
return(out)
|
|
}
|