R/misc.R

Defines functions tglkmeans.set_parallel

Documented in tglkmeans.set_parallel

#' Set parallel threads
#'
#' @param thread_num number of threads. use '1' for non parallel behavior
#'
#' @return None
#'
#' @examples
#' \donttest{
#' tglkmeans.set_parallel(8)
#' }
#' @export
tglkmeans.set_parallel <- function(thread_num) {
    if (thread_num <= 1) {
        options(tglkmeans.parallel = FALSE)
        RcppParallel::setThreadOptions(numThreads = 1)
    } else {
        doFuture::registerDoFuture()
        future::plan(future::multicore, workers = thread_num)
        options(tglkmeans.parallel = TRUE)
        options(tglkmeans.parallel.thread_num = thread_num)
        RcppParallel::setThreadOptions(numThreads = thread_num)
    }
}
tanaylab/tglkmeans documentation built on May 16, 2024, 1:05 a.m.