bpvectorize {BiocParallel} | R Documentation

## 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())

    ## S4 method for signature 'ANY,ANY'
    bpvectorize(FUN, ..., BPREDO=list(), BPPARAM=bpparam())

    ## S4 method for signature 'ANY,missing'
    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.

### 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 `methods{bpvectorize}` for additional methods, if any.

### Value

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

### Author(s)

Ryan Thompson mailto:rct@thompsonclan.org

### See Also

`bpvec`

### Examples

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

[Package BiocParallel version 1.21.2 Index]