R: Reduces via a binary function over a list adding jobs to a...

batchReduce {BatchJobs} | R Documentation

## Reduces via a binary function over a list adding jobs to a registry.

### Description

Each jobs reduces a certain number of elements on one slave. You can then submit these jobs to the batch system.

### Usage

    batchReduce(reg, fun, xs, init, block.size, more.args = list())

### Arguments

`reg` | [`Registry`] Empty Registry.
`fun` | [`function(aggr, x, ...)`] Function to reduce `xs` with.
`xs` | [`vector`] Vector to reduce.
`init` | [any] Initial object for reducing.
`block.size` | [`integer(1)`] Number of elements of `xs` reduced in one job.
`more.args` | [`list`] A list of other arguments passed to `fun`. Default is empty list.

### Value

Vector of type `integer` with job ids.

### Examples

    # define function to reduce on slave, we want to sum a vector
    f = function(aggr, x) aggr + x
    reg = makeRegistry(id = "BatchJobsExample", file.dir = tempfile(), seed = 123)

    # sum 20 numbers on each slave process, i.e. 5 jobs
    batchReduce(reg, fun = f, 1:100, init = 0, block.size = 5)
    submitJobs(reg)
    waitForJobs(reg)

    # now reduce one final time on master
    reduceResults(reg, fun = function(aggr,job,res) f(aggr, res))

[Package BatchJobs version 1.6 Index]