BiocParallel (version 1.4.0)

bpvectorize: Transform vectorized functions into parallelized, vectorized function

Description

This transforms a vectorized function into a parallel, vectorized function. Any function FUN can be used, provided its parallelized argument (by default, the first argument) has a length and [ method defined, and the return value of FUN can be concatenated with c.

Usage

bpvectorize(FUN, ..., BPREDO=list(), BPPARAM=bpparam())
"bpvectorize"(FUN, ..., BPREDO=list(), BPPARAM=bpparam())
"bpvectorize"(FUN, ..., BPREDO=list(), BPPARAM=bpparam())

Arguments

FUN
A function whose first argument has a length and can be subset [, and whose evaluation would benefit by splitting the argument into subsets, each one of which is independently transformed by FUN. The return value of FUN must support concatenation with c.
...
Additional arguments to parallization, unused.
BPPARAM
An optional BiocParallelParam instance determining the parallel back-end to be used during evaluation.
BPREDO
A list of output from bpvectorize with one or more failed elements. When a list is given in BPREDO, bpok is used to identify errors, tasks are rerun and inserted into the original results.

Value

A function taking the same arguments as FUN, but evaluated using bpvec for parallel evaluation across available cores.

Details

The result of bpvectorize is a function with signature ...; arguments to the returned function are the original arguments FUN. BPPARAM is used for parallel evaluation.

When BPPARAM is a class for which no method is defined (e.g., SerialParam), FUN(X) is used.

See showMethods{bpvectorize} for additional methods, if any.

See Also

bpvec

Examples

Run this code
psqrt <- bpvectorize(sqrt) ## default parallelization
psqrt(1:10)

Run the code above in your browser using DataCamp Workspace