楼主: xingxf
12218 27

[学习心得] Stata 12与Stata 13运行速度比较,物理真核和虚拟线程比较,单核运算和多核运算比较 [推广有奖]

  • 0关注
  • 50粉丝

已卖:3687份资源

副教授

12%

还不是VIP/贵宾

-

威望
0
论坛币
60582 个
通用积分
772.5645
学术水平
224 点
热心指数
251 点
信用等级
138 点
经验
20775 点
帖子
753
精华
0
在线时间
522 小时
注册时间
2011-3-12
最后登录
2025-4-1

楼主
xingxf 发表于 2014-8-27 10:18:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用同一台电脑(4核8线程),MAC系统下,分别用Stata 12和Stata 13运行相同的程序(用statsby估算约7万个回归方程系数)。Stata 12 MP 4-core,Stata 13 MP 8-core, Stata 13 MP 64-core分别用时400秒,527秒和544秒(Stata中timer计时)。用Stata 12 MP 4-core进行计算时,CPU占用率约50%,用Stata 13 MP 8-core和64-core进行计算时,CPU占用率接近100%。
不知道有没有坛友做过类似的测试,想问的问题是,为什么Stata 13 更多核的情况下运行速度比Stata 12慢,莫非是CPU占用率过高导致的速度下降?

后来在坛友提示下用set processors命令设置软件使用CPU核心数目,经测试发现Stata 13在set processors 4的情况下,跑上述程序耗时403秒(只比Stata 12 MP 4-core稍慢,但是后来测试中发现Stata 12 MP 4-core最快一次耗时386秒)。set processors 5 和 6的情况下分别耗时424秒和446秒。set processor 6的情况下,CPU占用率75%左右。以上测试说明,Stata 13的运行速度和Stata 12基本想当,更准确说速度稍慢。对速度影响大的是对虚拟线程的使用,具体来说,在完全使用物理真核数目的情况下(4核8线程CPU,set processors 4)运行速度最快,在使用虚拟核心后,表面上发挥更多CPU能力,但实际上运行速度下降明显,在CPU满载情况下(使用所有8线程 - 物理真核4核外加4虚拟核心),速度严重降低(比CPU 50%占用率即完全使用物理真核时耗时增加约36%)。综上所述,Stata运行速度最佳的条件是设置使用核心数目等于CPU物理核心数目(举例:4核8线程CPU,设置set processor 4速度最快)。


截止到上一步,本以为问题得到了解决。但是我还好奇利用多核进行并行运算能比单核运算快多少。于是set processor为1和2,但是测试结果有点出乎意料,在使用单核和双核的情况下,运行上述程序均用时378秒。换句话说,单核运行速度超过了4核。单核和双核运行速度持平,这个结果是否说明我执行的命令不支持并行处理呢?我测试时的主要命令是:
statsby _b, by(Group) clear: reg y x1 x2 x3 x4 x5
如果statsby这个命令不支持多核并行运算,那么单核运行速度和双核运行速度持平是可以理解的,但问题是为什么速度要快于4核速度呢?另外,对于这个问题不知道MAC和Windows系统下运行是否有差异。由于我手头上只有MAC的机器是4核8线程,Windows的机器没那么多核心,因此我没有在Windows系统下做测试。对这个问题很好奇,不知道哪位坛友有兴趣做类似的测试。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata Processor Process Windows 台电脑 程序

已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
statax + 10 + 1 精彩帖子
SpencerMeng + 1 + 1 + 1 鼓励积极发帖讨论
crystal8832 + 24 + 2 + 2 + 2 很有意思的测试

总评分: 论坛币 + 34  学术水平 + 4  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
tuguy83 发表于 2014-8-27 19:47:11
多谢,我早就绝对继续用stata12。

实际上stata官网已经给出答案,13并没有优化速度。不过加的那几个模型还是挺管用的,手动不会搞只会用鼠标点的应该买。
已有 1 人评分论坛币 热心指数 收起 理由
crystal8832 + 5 + 1 分析的有道理

总评分: 论坛币 + 5  热心指数 + 1   查看全部评分

藤椅
liangsky 发表于 2014-8-27 19:53:01
你电脑是4-core的,跟这个有关系吗

板凳
xingxf 发表于 2014-8-27 22:54:44
tuguy83 发表于 2014-8-27 19:47
多谢,我早就绝对继续用stata12。

实际上stata官网已经给出答案,13并没有优化速度。不过加的那几个模型 ...
没优化速度没问题,但是不至于减速吧?400秒到500秒以上,这可是慢了许多啊。
用Stata 13最主要看中的是长字符。

报纸
xingxf 发表于 2014-8-27 22:56:57
liangsky 发表于 2014-8-27 19:53
你电脑是4-core的,跟这个有关系吗
我现在觉得可能有关系。但是最直接的比较应该拿两个软件的4-core版本比。但是我没有Stata 13 MP 4-core的lic,所以没法比啊。

地板
xingxf 发表于 2014-8-28 08:40:26
liangsky 发表于 2014-8-27 19:53
你电脑是4-core的,跟这个有关系吗
后来发现是核心数目使用问题,利用set processors命令,使用物理真核数目时运行速度最快,运用虚拟线程就会减速。

7
xingxf 发表于 2014-8-28 08:42:13
tuguy83 发表于 2014-8-27 19:47
多谢,我早就绝对继续用stata12。

实际上stata官网已经给出答案,13并没有优化速度。不过加的那几个模型 ...
后来发现了问题,是使用CPU核心数目的问题。实际上Stata13和Stata12在使用相同CPU核心数目的情况下的运行速度很接近。

8
liangsky 发表于 2014-8-28 09:04:35
xingxf 发表于 2014-8-28 08:40
后来发现是核心数目使用问题,利用set processors命令,使用物理真核数目时运行速度最快,运用虚拟线程就 ...
你很有钻研精神,赞!

9
xingxf 发表于 2014-8-28 09:24:22
liangsky 发表于 2014-8-28 09:04
你很有钻研精神,赞!
又有点新发现,感兴趣的话看看我上面的更新。

10
carweed 发表于 2014-8-28 09:35:33
木有12 mp的lic ,以前一直用se版的。跟现在13 mp版的木有啥可比性,当然13 mp的更快

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-5 05:03