当前位置: 首页 > news >正文

登录wordpress的网址东莞网站建设优化企业

登录wordpress的网址,东莞网站建设优化企业,盘石 网站建设,网站开发工具 知乎本文介绍在计算机多核上通过parallel包进行并行计算。 并行计算运算步骤#xff1a; 加载并行计算包#xff0c;如library(parallel)。创建几个“workers”,通常一个workers一个核#xff08;core#xff09;#xff1b;这些workers什么都不知道#xff0c;它们的全局环…本文介绍在计算机多核上通过parallel包进行并行计算。 并行计算运算步骤 加载并行计算包如library(parallel)。创建几个“workers”,通常一个workers一个核core这些workers什么都不知道它们的全局环境没有变量也没有加载的R包所以无论你想让这些workers做什么你都需要提供相应的对象、库使用一些可以并行运行循环的函数如parApply,parLapply,parSapply。当使用完并行后端且不需要workers的时候停止它们否则它们将继续挂在内存中。 说明 1-关于并行版本的循环函数。在BaseR中提到循环有for、while用于循环的函数也有apply家族函数。相应的在并行运算中也有并行运算的apply家族函数。 library(parallel)# run this code instead to use all available CPU cores #variable c1 is workers (clusters) #启动workers包括确定使用的workers数量。workerscores cl - makeCluster(detectCores()) #将当前R中的变量(这里命名为object1和object2是任何R对象)导出到新创建的workers的全局变量中以便workers使用它们。注意第一个参数是workers。 clusterExport (cl, varlist c(object1, object2))#对some.vector中的每个元素分别使用FUN作用返回结果是向量。 #parSapply函数的第一个参数是workers; #操作类似sapply函数可先查阅saplly函数的用法。 #将返回结果存储在result对象中 result - parSapply (cl, some.vector, FUN function (i) {some.function1; some.function2})#关闭workers stopCluster (cl) 示例 从标准正态分布中生成1e6个随机数计算这些随机数的均值这个过程重复100次。 非并行版本代码 lapply (1:100, FUN function (x) mean (rnorm (1000000))) 并行版本代码 library (parallel) cl - makeCluster (4) res - parLapply (cl, X 1:100, fun function (x) mean (rnorm (1000000))) stopCluster (cl) 注意这里使用的lapply和parLapplysapply函数是lapply函数的简化版sapply函数返回的是向量lapply返回的是列表。lapply(list   apply),sapply (simplifyapply). 当计算机运行上述两个函数的时候我们打开任务管理器快捷键ctrlAltDel非并行程序仅使用部分计算机容量在这个例子中非并行版本的程序仅使用了39%的CPU而并行版本的CPU为100%。 R语言的microbenchmark包来进行性能测试microbenchmark函数是microbenchmark包中的一个函数用于测量代码块的执行时间。microbenchmark函数的结果将返回一个数据框其中包含了每次执行的时间结果以及一些统计信息如平均时间、最小时间、最大时间等。这段代码的目的是通过microbenchmark函数来测试和比较不同代码块的执行时间以评估它们的性能。 mb - microbenchmark::microbenchmark ({lapply (1:100, FUN function (x) mean (rnorm (1e6)))},{library (parallel)cl - makeCluster (4L)res - parLapply (cl, X 1:100, fun function (x) mean (rnorm (1e6)))stopCluster (cl)}, times 10) mb 运行结果 Unit: seconds ...min lq mean median uq max neval cld7.389548 7.522466 7.566548 7.585431 7.605311 7.703006 10 b2.853429 2.890022 2.954747 2.943975 2.968527 3.114184 10 a 通过两个版本程序运行时间的对比可以看到并行版本的程序的计算时间没有比非并行版本的程序快4倍因为我们使用的是4个核按照预期应该是并行版本的程序运行速度要快4倍没有达到这个预期原因是管理并行也需要花费一些时间拆分数据、将它们发送给单个workers,收集结果并将结果合并在一起。 因此并行计算适应于计算所花费的时间远高于R与单个内核通信所花费的时间。 事实上如果将计算1e6个随机数的均值增加到计算1e7个随机数的均值重复100次此时并行版本的速度将增加几乎4倍非并行83.8 vs 并行21.5. 注意除非你有一台相当强大的计算机否则不要尝试运行下面的代码因为计算机运行下面的代码需要一段时间。注意到下面的代码中将重复次数减少到了5否则需要更长的时间。 mb - microbenchmark::microbenchmark ({lapply (1:100, FUN function (x) mean (rnorm (1e7)))},{library (parallel)cl - makeCluster (4L)res - parLapply (cl, X 1:100, fun function (x) mean (rnorm (1e7)))stopCluster (cl)}, times 5) mb Unit: seconds ...min lq mean median uq max neval cld83.08273 83.82933 83.95855 83.97395 84.39401 84.51273 5 b21.42050 21.43552 21.58001 21.49912 21.58116 21.96373 5 a 参考 Parallelization in R [David Zelený]
http://www.zqtcl.cn/news/976009/

相关文章:

  • 云南建站网站建设的编程技术
  • 知名的饰品行业网站开发wordpress镜像存储插件
  • 网站整体地图怎么做小榄公司网站建设
  • 体育西网站开发方案无锡锡山区建设局网站
  • 房地产 网站 欣赏建网站找谁
  • 网站创建一般创建哪种类型沈阳装修公司报价
  • 如何在网站后台做网页寻找赣州网站建设
  • 生态农庄网站模板志鸿优化网下载
  • 如何做企业网站广州企业宣传片
  • wordpress淘宝客建站舆情中心
  • 昆明做网站多少钱南宁网站建设培训班
  • 万网一台虚拟主机做多个网站wordpress畅言插件
  • 南宁网站建设优势辽宁大连直客部七部电话
  • 淮安网站建设报价.net网站制作
  • 做母亲节网站的素材最好用的搜索引擎排名
  • 免费创建个人网站网站怎么做下载内容
  • 网站群建设路径桥头网站建设
  • 网站建设创业经历深圳龙华区教师招聘
  • 网站开发的形式全网营销代运营
  • 集团网站设计方案wordpress+仿简书模板
  • 展览馆网站建设方案书wordpress怎么重装
  • 做半成品网站网站开发合同模板
  • 建筑工程师的工作内容山东网站营销优化开发
  • 织梦网站首页错位淄博汽车网站建设
  • 匿名聊天网站开发长沙关键词快速排名
  • 成都网站设计报价手机微信官方网站
  • 网页设计模板网站免费做那个男女的视频网站
  • 庄河网站建设如何上传文件到网站
  • 北京企业网站改版wordpress comer
  • 做租赁的行业网站腾讯云服务器用什么做网站