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
setupBackend(spec, backend, optional = FALSE, verbose = FALSE) setupSharedMemory(verbose) setupTempDirectory(verbose, dir = getwd()) setupLibPaths(pkg = "NMF", verbose = FALSE) setupRNG(seed, n, verbose = FALSE)
TRUE
or FALSE
,
or a single numeric value that specifies the number of cores to setup..pbackend
of nmf
.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.