找回密码
 注册
Simdroid-非首页
查看: 162|回复: 8

并行程序代码执行同步性问题

[复制链接]
发表于 2015-1-9 22:33:47 | 显示全部楼层 |阅读模式 来自 江苏南京
最近在做一些并行的开发,发现同样的fortran代码在不同的进程中执行耗费的时间是不一样的。比如同样一个for循环,计算量是一样的,在进程0中耗费的时间相当短暂,但是在进程1中耗费的时间就很长。这样导致不同的进程之间在通信的时候就需要相当长的时间等待。不知道有没有大神遇到类似的情况,能够帮忙解决一下。图中有10 个进程,然后标出了中间耗费时间比较长的三段代码。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2015-1-13 20:49:19 | 显示全部楼层 来自 日本
Simdroid开发平台
平衡各CPU的计算是并行计算的基础!
回复 不支持

使用道具 举报

 楼主| 发表于 2015-1-19 16:35:38 | 显示全部楼层 来自 江苏南京
hillyuan 发表于 2015-1-13 20:49
平衡各CPU的计算是并行计算的基础!

各个进程的计算量是均衡的,就是在同样的计算量情况下出现这种情况的
回复 不支持

使用道具 举报

发表于 2015-1-20 13:44:13 | 显示全部楼层 来自 日本
yymjl 发表于 2015-1-19 16:35
各个进程的计算量是均衡的,就是在同样的计算量情况下出现这种情况的

你能肯定?从你的函数名推测是有限元计算。你可以肯定每一进程的节点数,单元数,通信量相同?
回复 不支持

使用道具 举报

 楼主| 发表于 2015-1-27 21:25:26 | 显示全部楼层 来自 江苏南京
hillyuan 发表于 2015-1-20 13:44
你能肯定?从你的函数名推测是有限元计算。你可以肯定每一进程的节点数,单元数,通信量相同? ...

是的,这个就是专门做了同样自由度的算例进行测试的结果
回复 不支持

使用道具 举报

发表于 2015-3-10 16:29:46 | 显示全部楼层 来自 上海
yymjl 发表于 2015-1-27 21:25
是的,这个就是专门做了同样自由度的算例进行测试的结果

总是有原因的,楼主问题解决了吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2015-3-29 21:37:10 | 显示全部楼层 来自 江苏南京
bayueshisan 发表于 2015-3-10 16:29
总是有原因的,楼主问题解决了吗?

没有解决,问了几个计算数学的老师,他们也说没有遇到过这样的问题。感觉应该是系统资源调度的问题
回复 不支持

使用道具 举报

发表于 2015-3-30 14:31:53 | 显示全部楼层 来自 北京
yymjl 发表于 2015-3-29 21:37
没有解决,问了几个计算数学的老师,他们也说没有遇到过这样的问题。感觉应该是系统资源调度的问题 ...

请问你的这个时间是怎么监测的,我们有时间可以一起讨论讨论你的问题,怎么样?
回复 不支持

使用道具 举报

 楼主| 发表于 2015-4-20 18:46:25 | 显示全部楼层 来自 江苏南京
bayueshisan 发表于 2015-3-30 14:31
请问你的这个时间是怎么监测的,我们有时间可以一起讨论讨论你的问题,怎么样? ...

用的hpctools
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-15 02:27 , Processed in 0.039109 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表