通过 mc.cores 与 makePSOCKcluster 设置核心?

2024-01-11

我想知道通过设置 R 使用的核心数有什么区别makePSOCKcluster并明确地在 foreach 循环中?我应该在这两种情况下单独设置它,还是在制作时这样做makePSOCKcluster enough?

cl <- makePSOCKcluster(max(1, detectCores() - 1))
registerDoParallel(cl)

and

mcoptions <- list(  preschedule=FALSE, mc.cores = max(1,detectCores()-1)  )
stream = foreach(i=1:NROW(stream_sponsored), .inorder=FALSE,
        .combine=rbind,
        .options.multicore=mcoptions)  %dopar% {
#do something
}

From [https://cran.r-project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf][1] https://cran.r-project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf%5D%5B1%5D

'“核心”选项允许您临时覆盖用于单个 foreach 操作的工作线程数量。这比必须重新注册 doParallel 更方便。尽管如果注册 doParallel 时未指定“cores”值,您也可以使用 options 函数动态更改该值:

options(cores=2)
getDoParWorkers()
options(cores=3)
getDoParWorkers()

如果您在注册 doParallel 时指定了核心数量,则“cores”选项将被忽略:

registerDoParallel(4)
options(cores=2)
getDoParWorkers()

正如您所看到的,有许多选项可用于控制并行使用的工作线程数量,但默认行为通常会满足您的要求。

因此,简而言之,如果您调用 foreach 一次,则无需在 foreach 内指定核心。但是,如果您使用不同的内核调用两个或多个 foreach,则无需在 registerDoParallel 中指定内核

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 mc.cores 与 makePSOCKcluster 设置核心? 的相关文章

随机推荐

  • 对常量值使用 def 与 val 有何含义

    使用有什么影响def vs val在 Scala 中定义一个常量 不可变的值 我显然可以写出以下内容 val x 3 def y 4 var a x y 7 这两种说法有什么区别 哪一种表现更好 是推荐的方式 更惯用 我什么时候会使用其中一
  • 如何给Tomcat添加健康检查?

    我想在 Linux 的 Tomcat 上配置一个简单的健康检查 例如 http localhost 8080 health http localhost 8080 health 我一直在检查Tomcat文档 我发现了这个内置的服务器状态站点
  • 如何安装最新版本的 TensorFlow 2?

    我想知道为什么我无法安装TensorFlow 2 0 0 到目前为止稳定版本在他们的官方网站上 https www tensorflow org versions even in PyPi https pypi org project te
  • python 中的弱引用列表

    我需要一个弱引用列表 当它们消失时会删除它们 目前 我执行此操作的唯一方法是不断刷新列表 手动删除死引用 我知道有一个 WeakKeyDictionary 和一个 WeakValueDictionary 但我真的想要一个 WeakList
  • 构造失败通知:非法构造函数

    我的网站使用从未在移动设备上运行过的桌面通知 但我最近开始在 Android 4 4 上的 Chrome 版本 42 0 2311 108 中收到以下异常 Failed to construct Notification Illegal c
  • 如何在页面 API 中获取图像 url 或下载图像的 url,其中图像是由流场创建的?

    在我的 wagtail 应用程序中 我有一个流字段 用于使用 ImageChooserBlock 上传图像以及标题和文本 这意味着在单个流字段中我有一个标题 一个文本和一个图像上传输入 我正在尝试在其余框架的页面 API 中获取图像 url
  • 将 MomentJS 与 TypeScript 结合使用 - moment() 有什么类型?

    我目前正在将我的项目从 ES5 转换为 ES6 但我遇到了 MomentJS 的问题 version 2 18 1 问题是我有一些变量是 Moment 对象 但我无法对它们调用 moment 一个例子 import as moment fr
  • 使用 javascript 捕获桌面屏幕截图

    是否可以使用javascript捕获客户端Windows桌面的屏幕截图 那么在linux和mac操作系统中呢 澄清 这个问题有not被问到或回答 因为我希望捕获整个桌面 而不仅仅是浏览器 我还想捕获 本机 屏幕截图 而不是从某些底层表示重新
  • 为什么我想在一个函数中锁定两个互斥体 - 这也带有延迟锁?

    https en cppreference com w cpp thread lock tag https en cppreference com w cpp thread lock tag void transfer bank accou
  • Grails UrlMapping 重定向以保持 DRY

    我正在与Grails 2 1 1并希望添加一些映射到控制器操作的自定义 URL 我可以做到这一点 但原始映射仍然有效 例如 我创建了一个映射add property to directory in my UrlMappings如下 clas
  • Python 类继承属性错误 - 为什么?怎么修?

    SO 上的类似问题包括 this one https stackoverflow com questions 10268603 python class inheritance attributeerror subclass object
  • 使用 Let 进行子查询的 Linq

    我试图从这个 Linq 查询中获取的是所有广告的列表 其中最近关联的日志与LogType IsStatus true has a LogType Name已确认或已更新 需要明确的是 一个 Advert 有很多 Log 每个 Log 有一个
  • 在 Android 中创建一个没有 Intent 的重复事件并提醒直到特定日期?

    我有一个 Android 应用程序 可以通过服务下载一些药物信息 例如 fludex white round 2 24 02 2012 表示一种名为fludex 白色圆形的药物 从今天到2012年1月24日必须每天服用2次 现在我想在下载药
  • 在 pygame 中堆叠不同类型的透明度

    我有一个自定义 GUI 模块 它使用树中的对象来管理界面 并以正确的顺序将它们逐一传输 现在 在我的对象中 我有一些只是具有每像素透明度的表面 而其他对象则使用颜色键 我的问题是 当将具有每像素透明度的表面传输到另一个填充有色键的表面时 第
  • 在 JS 中具有正确的“this”值

    我有两个类似的 Javascript 对象 var Object2 new function this FetchData function callback do some stuff callback data var Object1
  • 基于元素类的 Angular2 QueryList

    有没有办法找回ViewChildren or ContentChildren按元素类别 这可以通过 id 或组件工作 但不适用于基于类的查询 即classedViewItems and classedContentItems Compone
  • Sql Server CE是否支持MERGE语句

    我正在尝试运行MERGE查询针对Sql Server CE数据库 但它抛出错误 There was an error parsing the query 虽然相同的查询工作正常Sql Server is merge statement no
  • 循环遍历多个列并在 R 中为每个列绘制一个图?

    我有一个数据集 其中第一列是 年份 接下来的五十列是美国每个州的数据 我想在一个 pdf 中生成多个图 将每个 州 列与 年 列相匹配 即 1 和 2 1 和 3 1 和 50 我认为循环第 2 50 列将是一个很好的解决方案 但我无法让它
  • RESTful API 错误的最佳实践

    在 RESTful API 中返回 HTTP 状态代码的最佳实践是什么 我的 PHP 框架使用 Laravel 4 如果出现错误 我应该使用 return Response json User Exists 401 or 包括标志succe
  • 通过 mc.cores 与 makePSOCKcluster 设置核心?

    我想知道通过设置 R 使用的核心数有什么区别makePSOCKcluster并明确地在 foreach 循环中 我应该在这两种情况下单独设置它 还是在制作时这样做makePSOCKcluster enough cl lt makePSOCK