Learn R Programming

RAINBOWR (version 0.1.35)

parallel.compute: Function to parallelize computation with various methods

Description

Function to parallelize computation with various methods

Usage

parallel.compute(
  vec,
  func,
  n.core = 2,
  parallel.method = "mclapply",
  count = TRUE
)

Value

List of the results for each element of `vec` argument.

Arguments

vec

Numeric vector including the values that are computed in parallel.

func

The function to be applied to each element of `vec` argument. This function must only have one argument.

n.core

Setting n.core > 1 will enable parallel execution on a machine with multiple cores. This argument is not valid when `parallel.method = "furrr"`.

parallel.method

Method for parallel computation. We offer three methods, "mclapply", "furrr", and "foreach".

When `parallel.method = "mclapply"`, we utilize pbmclapply function in the `pbmcapply` package with `count = TRUE` and mclapply function in the `parallel` package with `count = FALSE`.

When `parallel.method = "furrr"`, we utilize future_map function in the `furrr` package. With `count = TRUE`, we also utilize progressor function in the `progressr` package to show the progress bar, so please install the `progressr` package from github (https://github.com/HenrikBengtsson/progressr). For `parallel.method = "furrr"`, you can perform multi-thread parallelization by sharing memories, which results in saving your memory, but quite slower compared to `parallel.method = "mclapply"`.

When `parallel.method = "foreach"`, we utilize foreach function in the `foreach` package with the utilization of makeCluster function in `parallel` package, and registerDoParallel function in `doParallel` package. With `count = TRUE`, we also utilize setTxtProgressBar and txtProgressBar functions in the `utils` package to show the progress bar.

We recommend that you use the option `parallel.method = "mclapply"`, but for Windows users, this parallelization method is not supported. So, if you are Windows user, we recommend that you use the option `parallel.method = "foreach"`.

count

When count is TRUE, you can know how far RGWAS has ended with percent display.