Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >在并行处理中,有多少核是最优的?

在并行处理中,有多少核是最优的?
EN

Stack Overflow用户
提问于 2017-03-06 08:31:20
回答 1查看 2.2K关注 0票数 5

假设我有一个8核心CPU。在R中使用doParallel,当我注册makeCluster(x)时,理想的核数x是多少?

有尽可能多的核心吗?还是使用7个核心比使用6个核心要慢?关于这件事有什么规定吗?

EN

回答 1

Stack Overflow用户

发布于 2019-02-12 07:44:27

正如评论中所述,核心的最佳数量取决于手头的任务,但您可以自己找出。初始化7个不同的集群并对结果进行基准测试。我不会用所有8个核心,所以在你的情况下,7应该是最大的。

这里有一个小的“愚蠢”模板,其中的并行化没有意义,因为简单的parallelization版本要快得多,因为发送到内核的开销大大降低了性能。

无论如何,插入你想要优化的代码,四处游玩,找到完美的设置;)

代码语言:javascript
代码运行次数:0
复制
require(parallel)
cl2 = makeCluster(2)
cl3 = makeCluster(3)
cl4 = makeCluster(4)
cl5 = makeCluster(5)
cl6 = makeCluster(6)
cl7 = makeCluster(7)

library(microbenchmark)
mc <- microbenchmark(times = 100,
                     noPa = {
                       res = sapply(mtcars, mean, na.rm = TRUE)
                     },
                     cor2 = {
                       res = parSapply(cl2, mtcars, mean, na.rm = TRUE)
                     },
                     cor3 = {
                       res = parSapply(cl3, mtcars, mean, na.rm = TRUE)
                     },
                     cor4 = {
                       res = parSapply(cl4, mtcars, mean, na.rm = TRUE)
                     },
                     cor5 = {
                       res = parSapply(cl5, mtcars, mean, na.rm = TRUE)
                     },
                     cor6 = {
                       res = parSapply(cl6, mtcars, mean, na.rm = TRUE)
                     },
                     cor7 = {
                       res = parSapply(cl7, mtcars, mean, na.rm = TRUE)
                     }
); mc

stopCluster(cl2);stopCluster(cl3);stopCluster(cl4);
stopCluster(cl5);stopCluster(cl6);stopCluster(cl7)

单位:微秒扩展最小lq均值uq内维尔noPa 77.370 77.370 94.4365 101.5475 131.983 100 cor2 713.388 804.1260 947.56529 836.553 887.4680 7178.812 100 cor4 1027.4145 5343.576 100 cor4 877.797 1046.7570 1194.51996 1077.761 1132.45 7028.057 cor5 1032.535 1139.2015 1303.64424 1190.686 1241.3170 8148.199 100 cor6 1141.761 1222.5430 1438.18655 1261.797 1339.1655 10589.302 100 cor7 1269.192 1345.4240 1586.03513 1399.468 1487.3615 10547.204 100

在这里有一个例子,在这个例子中,并行化很有意义。根据结果,7个核心将是最快的解决方案。如果你在你自己的机器上运行它,并且想做它旁边的其他事情,我会使用4个内核,因为时间是可比的,并且机器没有在最大容量下工作。

代码语言:javascript
代码运行次数:0
复制
library(lme4)
f <- function(i) {
  lmer(Petal.Width ~ . - Species + (1 | Species), data = iris)
}

library(microbenchmark)
mc <- microbenchmark(times = 3,
                     noPa = {
                       res = sapply(1:100, f)
                     },
                     cor2 = {
                       res = parSapply(cl2, 1:100, f)
                     },
                     cor3 = {
                       res = parSapply(cl3, 1:100, f)
                     },
                     cor4 = {
                       res = parSapply(cl4, 1:100, f)
                     },
                     cor5 = {
                       res = parSapply(cl5, 1:100, f)
                     },
                     cor6 = {
                       res = parSapply(cl6, 1:100, f)
                     },
                     cor7 = {
                       res = parSapply(cl7, 1:100, f)
                     }
); mc

单位:毫秒内平均uq 1925.2889 1964.9473 2169.9294 2004.6057 2292.250 2579.894 3 cor2 1501.8176 1591.5596 1722.1834 1681.3015 1983.431 3 cor3 1097.4251 1188.6271 1345.1643 1279.8291 1469.034 1658.239 3 cor4 956.9829 1007.6607 1302.2984 1058.3384 1474.9561891.574 3 cor5 1027.5877 1872.35012379.9384 2717.1125 3056.114 3395.115 3 cor6 1001.2572 1048.8277 1217.5999 1096.3983 1325.771 1555.144 3 cor7 815.2055 945.7555 996.3841 1011.030 1025.677 3

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42630753

复制
相关文章
FileNotFoundException:xxx(系统找不到指定的路径)
这次是有个两年前的项目吧,不知道为什么无法启动了。中间迭代了多个版本,现在另一个同事接手了,领导让看一下。因为时间间隔过长,问题处理比较费劲。其中有的是配置问题,比较好解决。
你可以叫我老白
2023/07/21
5530
FileNotFoundException:xxx(系统找不到指定的路径)
pycharm系统找不到指定路径_win7找不到指定程序
大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。 Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
全栈程序员站长
2022/09/27
2.7K0
pycharm系统找不到指定路径_win7找不到指定程序
vcvarsall.bat 系统找不到指定的路径
后发现MiniConda3 会在注册表注册一个钩子劫持cmd(用于激活conda env)导致环境异常
8菠萝
2022/09/06
3K0
cmd/powershell/anaconda prompt提示“系统找不到指定的路径”
在Win10 cmd 或 anaconda 命令行中,会遇到输入命令前先弹出“系统找不到指定的路径”的问题。本文记录解决方案。 问题描述 打开命令行 (cmd.exe)或者powershell,anaconda prompt等,提示“系统找不到指定的路径”(“The system cannot find the path specified”) 原理 在windows系统中,打开一个命令行 (cmd.exe)或者类似的anaconda prompt, 下面两个注册表项会被自动检测: HKEY_L
为为为什么
2022/08/05
5.3K0
pycharm添加搜索路径_pycharm系统找不到指定路径
为了能让python解释器找到我安装的python包的位置,我把该位置添加到了PYTHONPATH中,结果试了半天,pycharm中的解释器都没能检测到我那个包的存在,而在终端打开python的命令交互模式都是可以获取我在PYTHONPATH中设置的路径的。(气得我一口老血喷出来,哪位大神要是知道这是什么情况,敬请告知呀喵。感激不尽呦^_^) 好了,说正事了。pycharm这么气人怎么办呢?闹了半天终于找到解决办法了,废话不多说,一张图解释一切! (第三个箭头指向的齿轮状按钮中选择more那一项,第四个箭头指向的按钮是show paths for the selected interpreter之类的意思)
全栈程序员站长
2022/09/27
2.2K0
pycharm添加搜索路径_pycharm系统找不到指定路径
anaconda prompt系统找不到指定的路径_tensorflow怎么用
我们默认打开jupyter notebook一般是在C盘,那么久而久之你很多的代码都新建在C盘,以后想要清理的时候难免会比较困难,所以在这里推荐大家通过命令在D盘指定目录下打开jupyter notebook,那么你新建的所有文件都是在D盘的指定目录下啦!
全栈程序员站长
2022/11/07
1.4K0
异常收集之:navicatdesignquery.sql.bak 系统找不到指定路径
今天使用Navicat ,其他功能都正常,但是新建查询的时候,出现一个很奇葩的问题
执笔记忆的空白
2020/12/25
9230
pycharmimport时找不到指定文件_pycharm系统找不到指定文件
Error running ‘hello’: Cannot run program “B:\pystudy\venv\Scripts\python.exe” (in directory “\python-study”): CreateProcess error=2, 系统找不到指定的文件。
全栈程序员站长
2022/09/27
5.7K0
pycharmimport时找不到指定文件_pycharm系统找不到指定文件
Xilinx下载器驱动提示“系统找不到指定的路径”的解决办法
本篇记录了本人解决xilinx下载器驱动安装问题(装驱动提示错误如下图)。主要过程就是更新到win10,再重装驱动即可,最后测试在Vivado2015.3中可以成功下载调试。
FPGA技术江湖
2020/12/30
1.5K0
Xilinx下载器驱动提示“系统找不到指定的路径”的解决办法
MyBatis Generator 百分之20 导致Windows系统“系统找不到指定的路径”问题
报错 看到%20估计是这个字符导致的
明明如月学长
2021/08/27
5640
java找不到jdk文件_java运行时系统找不到指定的文件
学习jni的时候,javac Helloworld.java 生成 Helloworld.class文件以后,调用javah Helloworld提示找不到类文件
全栈程序员站长
2022/11/08
2.7K0
解决Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)问题
最近自己在公司项目修改一些代码以后,出现如题的错误,后来各种Google等,最终找到了解决办法。
阿豪聊干货
2018/08/09
1.2K0
解决Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)问题
Sublime text || [WinError 2] 系统找不到指定的文件 || 编译Python代码
本文主要解决使用Sublime编译Python代码,状态栏显示 “[WinError 2] 系统找不到指定的文件” 这一问题。 文章目录 问题描述 解决方法一:复制python.exe并重命名 解决方法二:修改Python.sublime-package文件 简单总结 参考来源 问题描述 在Sublime中编译Python代码,状态栏报错如下: 实际上,系统找不到的指定文件是Python的可执行文件(.exe),而我的Anaconda中明明是有Python的,所以系统找不到指定文件的原因是和Py
Twcat_tree
2022/12/05
3K0
Sublime text || [WinError 2] 系统找不到指定的文件 || 编译Python代码
vs2010点调试,显示系统找不到指定的文件
首先,查看“项目”-“属性”-“链接器”-“常规”-“输出文件”,路劲是否是“bin/xxx.exe”, 如果是请继续看我的解答,否则请忽略下面的内容。 原因是用VS2010加载调试以前的VC6.0下
互联网金融打杂
2018/04/03
2.2K0
vs2010点调试,显示系统找不到指定的文件
Maven项目pom.xml文件报:xxx\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF (系统找不到指定的路径。) 问题
  在Maven项目中的pom.xml文件的第一行:D:\learn\Java\eclipse-jee-mars-2-win32_x64\eclipse-workspace\taotao\taotao-manager-web\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF (系统找不到指定的路径。),如下图所示:
黑泽君
2018/12/07
2.5K0
Maven项目pom.xml文件报:xxx\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF (系统找不到指定的路径。) 问题
pycharm看不到运行结果_pycharm系统找不到路径
不知道什么原因,好像是在下载安装了Java8.jdk后吧,浏览器的下载文件夹似乎被洗劫了一下
全栈程序员站长
2022/09/27
7660
pycharm看不到运行结果_pycharm系统找不到路径
file指定路径_目标实现的策略与路径
通常设置android:exported="false",以保证权限最小化。 android:resource="@xml/filepath_data"中,filepath_data.xml文件是配置哪些路径是可以通过FileProvider访问的。 meta-data是以键值对的方式保存(key-value pairs)。android.support.FILE_PROVIDER_PATHS作为meta-data的键(key),@xml/filepath_data作为meta-data的值(value)。在FileProvider中会读取meta-data中的android.support.FILE_PROVIDER_PATHS对应的值。
全栈程序员站长
2022/11/17
1.3K0
[Android][Recovery] Recovery下找不到sdcard路径
因为上层用Java写路径的时候,获取的是Android的路径,我们知道,adb shell里面是有/sdcard的路径的,这个路径实际上并不是插入的SD卡路径,而是一个内置路径。
wOw
2020/01/20
2.5K0
解决QFile找不到路径问题
使用QFile报出"系统找不到指定的路径"错误。虽然QFile能够创建不存在的文件,但是它就是不会自动创建不存在的目录。 1.解决方法 1.1 使用QDir::mkdir创建目录 这里需要注意的是它只能创建一个子目录,如果路径存在多个不存在目录则会创建失败。 1.2 使用QDir::mkpath创建目录 这个接口功能更强大,QDir::mkpath能创建该目录所需的所有父目录。它解决QDir::mkdir只能创建一个子目录的情况。 2.关于QFile自动创建文件的Flag 只写模式 如需屏蔽自动创建文件操作
Qt君
2019/07/16
2.6K0
SQL Server2014 远程连接报错。.系统找不到指定的文件。
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接) (.Net SqlClient Data Provider)(MicrosoftSqlserver,错误:2)。
跟着阿笨一起玩NET
2020/11/03
2.1K0
SQL Server2014 远程连接报错。.系统找不到指定的文件。

相似问题

Chrome:强制浏览器刷新?

30

加载页面时强制浏览器刷新

11

强制刷新客户端浏览器

40

强制浏览器刷新CSS、JavaScript等

161

在浏览器中强制缓存刷新

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文