C_and_CPP 板


LINE

※ 引述《justdemon (人生的转捩点)》之铭言: : 最近使用MPI_Isend的时候发现 : 虽然他的确是nonblocking 执行完MPI_Isend之後会继续执行之後的程式 : 但是他并不会平行的运作 : 我如果传输花5秒 运算花5秒 : 总时间就是10秒 并不会因为使用Nonblocking Send而变成5秒 : 在单纯传输时 CPU使用率只有30%~40% 理论上如果使用nonblocking send : 应该可以压榨出来剩下的70% 可是结果却和blocking send一样 : 省不了任何时间 : 上网搜寻关於MPI的资讯 却也没看到有人有跟我类似的结果 : 不过倒是搜寻到MPI有分为 single thread 和 multiple thread 不同的模式 : 可以使用 MPI_Init_thread 来启用 multiple thread 有四个层级 : 不过不管我怎麽试 甚至使用buffered mode 都还是没办法让它边运算边传输 : 最後我使出大决 写个Pthread的程式 强迫开两个thread分别运算和传输 : 结果却是让人失望 在一台双核心的平台上 开nodes=2:ppn=2让两台电脑对传 : 跑这样的程式 却会造成其中某几个跑得快 某几个跑得慢的结果 : 在MPI_Barrier之後 最慢的那个所花的时间 竟然很凑巧跟原来的时间一样 : 意思是说 还是一点都没省到时间 : 不知道板上有没有板友曾经测试过MPI_Isend 并且成功的让他同时运算与传输呢? : -- :



※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.112.101.114 : ※ 编辑: justdemon 来自: 140.112.101.114 (11/22 16:18) : → tinlans:你的目的是 process 间协同工作所以要吃到 100% CPU 几乎 11/22 23:50 : → tinlans:都会是有困难的,但是想完全榨出这种平行程式的效能,尽量 11/22 23:51 : → tinlans:别用什麽 barrier,然後 MPI_Irecv 尽量提前送,这样其它 11/22 23:52 : → tinlans:process 有送东西来之前还能做一些事情,多少会赚一些。 11/22 23:55 : → tinlans:简单说如果你先发 Irecv 再去忙一阵子,其它 process 用 11/23 00:04 : → tinlans:Isend 送资料时,等送 Irecv 的 process 忙完後去 test 时 11/23 00:05 : → tinlans:资料可能就已经 ready 了。 11/23 00:05 : → tinlans:这样资料传输跟运算就会同时进行。 11/23 00:07 谢谢T大的推文 可是在我测试的环境相当的简单 尽量让每个process做相同的事情 我最原始的测试的code如下 http://nopaste.csie.org/b2860 经过测试之後发现 那个sleep(5) 就真的五秒都在那里睡 背後并没有继续传输 我也试过用其他运算取代sleep 结果一样 全部的时间 就是刚好等於 传输时间+运算时间 他的行为就像是 Isend只是标示出来有个东西要传 直到wait的时候才开始传输 我也试过用MPI_Init_thread取代MPI_Init 结果也一样 不知道有没有板友方便帮我测试一下这个简单的程式呢? 谢谢 ^^ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.101.114
1F:→ tinlans:你的程式看起来都是在传而已没什麽运算啊,实际上的程式 11/23 23:49
2F:→ tinlans:并不会长这样。 11/23 23:49
3F:→ tinlans:你应该要写那种能把要处理的资料分割成 N 大块,然後传输 11/23 23:51
4F:→ tinlans:资料的量 (除了初始化分配资料) 远少於计算的量,才赚得到 11/23 23:52
5F:→ tinlans:,另外就我之前写的经验,Isend 只要碰到对面送 Irecv 就 11/23 23:52
6F:→ tinlans:会在 background 开始传输了,所以 Irecv 提前送的话, 11/23 23:53
7F:→ tinlans:只要 Isend 一被呼叫就会马上传,这样只要 Irecv 到 wait 11/23 23:53
8F:→ tinlans:之间你有做一些足够的运算量,去 wait 的时候第一次就能吃 11/23 23:54
9F:→ tinlans:到传完的资料了。 11/23 23:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP