\title{Classes to configure parallel evaluation}


  Configure and register parallel calculations, e.g., for
  \code{\link{Team}} evaluation.


MulticoreParam(size = getOption("mc.cores", 2L),
    mc.set.seed = TRUE, ...)


  \item{size}{The number of members in the parallel cluster.}

  \item{mc.set.seed}{\code{logical(1)}; see \code{?mcparallel} on unix

  \item{param}{A \code{ParallelParam} instance, such as generated by

  \item{...}{Additional arguments, e.g., \code{verbose}, passed to the
  \code{Streamer} class.}


  Use \code{MulticoreParam} to construct instances of this class.


    \item{register}{Invoked with an argument \code{param} stores the
      \code{param} for use in subsequent parallel computation. Use
      \code{NULL} to clear the register. The function returns,
      invisibly, the previously registered parameter instance, if any.}



\section{Internal Class Fields and Methods}{

  Internal fields of this class are are described with, e.g.,

  Internal methods of this class are described with
  \code{getRefClass("MulticoreParam")$methods()} and


\author{Martin Morgan \url{mtmorgan@fhcrc.org}}


  \code{\link{Team}} to apply one function in parallel,
  \code{\link{DAGTeam}} to evaluate functions whose dependencies are
  represented as directed acyclic graphs.


if (.Platform$OS.type != "windows") {
    oparam <- register()       ## previous setting
    param <- MulticoreParam()  ## default multicore settings
    register(param)            ## register for future use, e.g,. Team
    register(oparam)           ## reset original