Computational Setup Functions
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) setupLibPaths(pkg = "NMF", verbose = FALSE) setupRNG(seed, n, verbose = FALSE)
spec |
target parallel specification: either
|
backend |
value from argument |
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 |
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.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.