<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>hack to switch function for parallel computation based on OS — mclapply_win • assigner</title>

<!-- favicons -->
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png" />
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png" />

<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>

<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>

<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous" />

<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>

<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>

<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>




<meta property="og:title" content="hack to switch function for parallel computation based on OS — mclapply_win" />
<meta property="og:description" content="parallel::mclapply doesn't work on Windows,
because forking is not supported.
This function defines a socket version of mclapply for windows computer
An implementation that switch automatically the parallel process when detecting
the os.
The code below was inspired from 
parallel mclapply, 
Nathan VanHoudnos and 
Eric Archer." />
<meta property="og:image" content="/logo.png" />




<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>

<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->



  </head>

  <body data-spy="scroll" data-target="#toc">
    <div class="container template-reference-topic">
      <header>
      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">assigner</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.5.7</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li>
  <a href="../index.html">Installation</a>
</li>
<li>
  <a href="../FEATURES.html">Features</a>
</li>
<li>
  <a href="../articles/get_started.html">Get started</a>
</li>
<li>
  <a href="../reference/index.html">Reference</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu">
    <li>
      <a href="../articles/get_started.html">Get started</a>
    </li>
    <li>
      <a href="../articles/fst_confidence_intervals.html">Fst analysis</a>
    </li>
    <li>
      <a href="../articles/web_only/fst_comparisons.html">Comparisons of Fst in 8 packages/software</a>
    </li>
    <li>
      <a href="../articles/assignment.whitelists.html">Using whitelists in assignment</a>
    </li>
    <li>
      <a href="../articles/rad_genomics_computer_setup.html">Computer setup - Installation - Troubleshooting</a>
    </li>
    <li>
      <a href="../articles/life_cycle.html">Life cycle</a>
    </li>
  </ul>
</li>
<li>
  <a href="../news/index.html">News</a>
</li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li>
  <a href="https://github.com/thierrygosselin/assigner">
    <span class="fa fa-github fa-lg"></span>
     
  </a>
</li>
      </ul>
      
    </div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header>

<div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>hack to switch function for parallel computation based on OS</h1>
    <small class="dont-index">Source: <a href='https://github.com/thierrygosselin/assigner/blob/master/R/mclapply_win.R'><code>R/mclapply_win.R</code></a></small>
    <div class="hidden name"><code>assigner_parallel.Rd</code></div>
    </div>

    <div class="ref-description">
    <p><code><a href='https://rdrr.io/r/parallel/mclapply.html'>parallel::mclapply</a></code> doesn't work on Windows,
because forking is not supported.
This function defines a socket version of mclapply for windows computer
An implementation that switch automatically the parallel process when detecting
the os.
The code below was inspired from 
<span class="pkg">parallel</span> <code>mclapply</code>, 
<a href='https://github.com/nathanvan'>Nathan VanHoudnos</a> and 
<a href='https://github.com/EricArcher/'>Eric Archer</a>.</p>
    </div>

    <pre class="usage"><span class='fu'>mclapply_win</span>(
  <span class='kw'>X</span>,
  <span class='kw'>FUN</span>,
  <span class='kw'>...</span>,
  mc.preschedule = <span class='fl'>TRUE</span>,
  mc.set.seed = <span class='fl'>TRUE</span>,
  mc.silent = <span class='fl'>FALSE</span>,
  mc.cores = <span class='kw'>NULL</span>,
  mc.cleanup = <span class='fl'>TRUE</span>,
  mc.allow.recursive = <span class='fl'>TRUE</span>
)

<span class='fu'>.assigner_parallel</span>(
  <span class='kw'>X</span>,
  <span class='kw'>FUN</span>,
  <span class='kw'>...</span>,
  mc.style = <span class='st'>"ETA"</span>,
  mc.substyle = <span class='fl'>NA</span>,
  mc.cores = <span class='fu'><a href='https://rdrr.io/r/base/options.html'>getOption</a></span>(<span class='st'>"mc.cores"</span>, <span class='fl'>2L</span>),
  ignore.interactive = <span class='fu'><a href='https://rdrr.io/r/base/options.html'>getOption</a></span>(<span class='st'>"ignore.interactive"</span>, <span class='kw'>F</span>),
  mc.preschedule = <span class='fl'>TRUE</span>,
  mc.set.seed = <span class='fl'>TRUE</span>,
  mc.cleanup = <span class='fl'>TRUE</span>,
  mc.allow.recursive = <span class='fl'>TRUE</span>
)

<span class='fu'>.assigner_parallel_mc</span>(
  <span class='kw'>X</span>,
  <span class='kw'>FUN</span>,
  <span class='kw'>...</span>,
  mc.preschedule = <span class='fl'>TRUE</span>,
  mc.set.seed = <span class='fl'>TRUE</span>,
  mc.silent = <span class='fl'>FALSE</span>,
  mc.cores = <span class='fu'><a href='https://rdrr.io/r/base/options.html'>getOption</a></span>(<span class='st'>"mc.cores"</span>, <span class='fl'>2L</span>),
  mc.cleanup = <span class='fl'>TRUE</span>,
  mc.allow.recursive = <span class='fl'>TRUE</span>,
  affinity.list = <span class='kw'>NULL</span>
)</pre>

    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
    <table class="ref-arguments">
    <colgroup><col class="name" /><col class="desc" /></colgroup>
    <tr>
      <th>X</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>FUN</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>...</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>mc.preschedule</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>mc.set.seed</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>mc.silent</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>mc.cores</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>mc.cleanup</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    <tr>
      <th>mc.allow.recursive</th>
      <td><p>see <span class="pkg">parallel</span> <code>mclapply</code></p></td>
    </tr>
    </table>

    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>

    <p>For mclapply, a list of the same length as X and named by X.</p>
<p>For mclapply, a list of the same length as X and named by X.</p>

  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top">
      <h2 data-toc-skip>Contents</h2>
    </nav>
  </div>
</div>


      <footer>
      <div class="copyright">
  <p>Developed by Thierry Gosselin.</p>
</div>

<div class="pkgdown">
  <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>

      </footer>
   </div>

  


  </body>
</html>


