# show message if OPTION show.info is TRUE
# show.info ARGUMENT provides an immediate OVERRIDE to that option
showInfoMessage = function(msg, ..., show.info = NA) {
if (ifelse(is.na(show.info), getPMOptShowInfo(), show.info)) {
messagef(msg, ...)
}
}
showStartupMsg = function(mode, cpus, socket.hosts) {
if (mode != MODE_LOCAL) {
if (mode %in% c(MODE_MULTICORE, MODE_MPI) ||
(mode == MODE_SOCKET && !is.na(cpus))) {
showInfoMessage("Starting parallelization in mode=%s with cpus=%i.",
mode, cpus)
} else if (mode == MODE_SOCKET) {
showInfoMessage("Starting parallelization in mode=%s on %i hosts.",
mode, length(socket.hosts))
} else if (mode == MODE_BATCHJOBS) {
showInfoMessage("Starting parallelization in mode=%s-%s.",
mode, BatchJobs::getConfig()$cluster.functions$name)
}
}
}
# either the option level is not set or it is and the level of parmap matches
isParallelizationLevel = function(level) {
optlevel = getPMOptLevel()
is.na(optlevel) || (!is.na(level) && level == optlevel)
}
exportToSlavePkgParallel = function(objname, objval) {
# clusterExport is trash because of envir argument, we cannot easily export
# stuff defined in the scope of an R function
# cl = NULL is default cluster, pos=1 is always globalenv
# I really hope the nextline does what I think in all cases...
clusterCall(cl = NULL, assign, x = objname, value = objval, pos = 1)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.