setupBackend {NMF} | R Documentation

## Computational Setup Functions

### Description

Functions used internally to setup the computational environment.

`setupBackend` sets up a foreach backend given some specifications.

`setupSharedMemory` checks if one can use the packages bigmemory and sychronicity to speed-up parallel computations when not keeping all the fits. When both these packages are available, only one result per host is written on disk, with its achieved deviance stored in shared memory, that is accessible to all cores on a same host. It returns `TRUE` if both packages are available and NMF option `'shared'` is toggled on.

`setupTempDirectory` creates a temporary directory to store the best fits computed on each host. It ensures each worker process has access to it.

`setupLibPaths` add the path to the NMF package to each workers' libPaths.

`setupRNG` sets the RNG for use by the function nmf. It returns the old RNG as an rstream object or the result of set.seed if the RNG is not changed due to one of the following reason: - the settings are not compatible with rstream

### Usage

      setupBackend(spec, backend, optional = FALSE,
        verbose = FALSE)

      setupSharedMemory(verbose)

      setupTempDirectory(verbose)

      setupLibPaths(pkg = "NMF", verbose = FALSE)

      setupRNG(seed, n, verbose = FALSE)

### Arguments

`spec` | target parallel specification: either `TRUE` or `FALSE`, or a single numeric value that specifies the number of cores to setup.
`backend` | value from argument `.pbackend` of `nmf`.
`optional` | a logical that indicates if the specification must be fully satisfied, throwing an error if it is not, or if one can switch back to sequential, only outputting a verbose message.
`verbose` | logical or integer level of verbosity for message outputs.
`pkg` | package name whose path should be exported the workers.
`seed` | initial RNG seed specification
`n` | number of RNG seeds to generate

### Value

Returns `FALSE` if no foreach backend is to be used, `NA` if the currently registered backend is to be used, or, if this function call registered a new backend, the previously registered backend as a `foreach` object, so that it can be restored after the computation is over.

[Package NMF version 0.20.6 Index]