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

网站建设多少钱 小江网页设计德州网站建设哪一家好

网站建设多少钱 小江网页设计,德州网站建设哪一家好,0基础做下载网站,wordpress jetpack 慢目录 问题描述 代码1#xff08;串行#xff09; 代码2#xff08;并行#xff09; 代码2执行时所用指令 错误信息 解决方案 解决方案1 解决方案2 问题描述 今天正在学习使用mpi4py#xff0c;在对比运行以下2个代码时疯狂报错#xff1a; 代码1#xff08;串…目录 问题描述 代码1串行 代码2并行 代码2执行时所用指令 错误信息 解决方案  解决方案1  解决方案2 问题描述 今天正在学习使用mpi4py在对比运行以下2个代码时疯狂报错 代码1串行 import numpy as np import timenp.random.seed(2) size 1000000x1 np.random.random(size) x2 np.random.random(size) result np.zeros(size, dtypefloat)since time.time() for i in range(size):result[i] x1[i] x2[i] end time.time()print(end - since) 代码2并行 from mpi4py import MPI import numpy as np import timecomm MPI.COMM_WORLD rank comm.Get_rank() nprocs comm.Get_size()size 1000000 x1 np.random.random(size) x2 np.random.random(size)if rank 0:ave, res divmod(size, nprocs)count [ave 1 if p res else ave for p in range(nprocs)]count np.array(count)displ [sum(count[:p]) for p in range(nprocs)]displ np.array(displ) else:sendbuf Nonecount np.zeros(nprocs, dtypenp.int)displ Nonet0 time.time() comm.Bcast(count, root0)recvbuf1 np.zeros(count[rank]) recvbuf2 np.zeros(count[rank])comm.Scatterv([x1, count, displ, MPI.DOUBLE], recvbuf1, root0) comm.Scatterv([x2, count, displ, MPI.DOUBLE], recvbuf2, root0)print(After Scatterv, process {} has data:.format(rank), recvbuf1) print(After Scatterv, process {} has data:.format(rank), recvbuf2)for i in range(recvbuf1.shape[0]):recvbuf1[i] recvbuf2[i]sendbuf2 recvbuf1 recvbuf2 np.zeros(sum(count)) comm.Gatherv(sendbuf2, [recvbuf2, count, displ, MPI.DOUBLE], root0)if comm.Get_rank() 0:print(pi computed in {:.3f} sec.format(time.time() - t0))print(After Gatherv, process 0 has data:, recvbuf2) 代码2执行时所用指令 # mpi_test.py是该代码存放的代码文件代码是以root的权限执行的 mpirun -np 4 --allow-run-as-root python mpi_test.py 错误信息 这个错误是我第三次尝试解决这次终于找到了解决方案太不容易了QAQ 解决方案  参考链接 python - Possible buffer size limit in mpi4py Reduce() - Stack Overflow 链接中指出出现这个错误的主要原因是由于 The issue comes from the Cross-Memory Attach (CMA) system calls process_vm_readv() and process_vm_writev() that the shared-memory BTLs (Byte Transfer Layers, a.k.a. the things that move bytes between ranks) of Open MPI use to accelerate shared-memory communication between ranks that run on the same node by avoiding copying the data twice to and from a shared-memory buffer. This mechanism involves some setup overhead and is therefore only used for larger messages, which is why the problem only starts occurring after the messages size crosses the eager threshold. 有以下两个解决方案 解决方案1  在执行docker run时带上参数 --cap-addSYS_PTRACE 但是由于我拿到的是分好的docker并不具备执行docker run指令的权限所以只能选择解决方案2中的解决方法。  解决方案2 禁用CMA。 如果是Open MPI 1.8之前的版本在执行mpirun时带上参数 mpirun --mca btl_sm_use_cma 0 ... 如果是Open MPI 1.8之后的版本执行mpirun时带上参数 mpirun --mca btl_vader_single_copy_mechanism none 附上一个原网站的回答截图以备后续查阅
http://www.hkea.cn/news/14338220/

相关文章:

  • 北海市建设局官方网站苏州网页关键词优化
  • 中文网站建设英文网站备案多少钱
  • 网站平台开发公司你了解网站建设吗 软文案例
  • 淮南网站建设公司为网站的特色功能设计各种模板
  • 网站怎么显示被kwordpress VIP账号插件
  • 网站建设合同的注意事项株洲网站建设公司
  • WordPress搭建手机网站简历免费模板可编辑word
  • 微小店网站建设平台wordpress 英文站赚钱
  • tp框架做展示网站网站怎么做才能得到更好的优化
  • 网站开发过程模型个人怎么找猎头公司推荐自己
  • 企业网站用织梦好吗西安有啥好玩的地方
  • 网站开发费用如何入账c#购物网站开发流程
  • 用什么IE打开建设银行网站给实体店老板做的网站
  • linux 做网站用哪个版本飞猪旅游的网站建设
  • 产品网站推广wordpress cufon
  • 企业内部网站模板下载泽成杭州seo网站推广排名
  • 网站代码预览器微博推广文案范文
  • 太原电商网站设计免费网站建设可信吗
  • 做一个商城网站软件首页设计
  • 如何创建个人网站国外做文化的网站
  • 国内网站建设发展大连制作网站公司
  • 温州网站制作计划东莞网站建设优化方案
  • 移动通信网站建设wordpress 标签云插件下载
  • 成都网站推广找四川冠辰seo经典案例分析
  • 西安企业建站排名成都培训机构哪家好
  • 深圳观澜网站建设官网域名改版方案
  • 福州优化网站建设无锡网站建设哪家好
  • 沈阳做网站企业备案域名出售是否违法
  • 网站备案情况查询网络设计专业工资
  • 宁波网页设计制作公司郑州seo技术代理