由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Hardware版 - 我的机器提高计算速度的的潜力有多大?
相关主题
6700k+z170 vs 1700x+B350 选哪个?为什么大家这么黑NV呢?
数值计算的时候怎么提高CPU的使用率?ATI的6870系列支持并行计算功能(GTX的CUBA那种)吗?
AMD确实很差近几年来cpu性能的提升实在太缓慢令人绝望
AMD的APU上跑ArrayFire的exception这两个cpu差别多大:E5-2670 vs E5-2698 v3
一个百元的GTX 950显卡能多大程度提高matlab计算速度?Sandy Bridge-E的价格出来了
用GPU加快计算速度是自动的吗?AMD新款SoC架构APU不会是joke?
我写的CUDA屏保软件AMD Zen架构大曝光:32核心+8通道DDR4内存
请推荐linux workstation?AMD Zen内核架构图首曝:32核心64线程 快科技 vivian 6小时47分钟前 AMD Zen全新架构的处理器将在2017年发布,陆续登陆桌面、服务器等市场。不同于当前推土机架构的双核合一模块,Zen将回归传统独立核心设计,并且有很特殊的组合方式。此前我们就曾介绍过,Zen处理器的基础模块叫做“Zeppelin”(齐柏林/ZP),今天我们第一次看到了它的基本架构图:可以清楚地看到,每一个Zeppelin模块都有8个物理核心(16个线程),每核心512KB二级缓存,同时每四个核心共享8MB三
相关话题的讨论汇总
话题: mpi话题: 并行话题: stata话题: 节点话题: 内存
进入Hardware版参与讨论
1 (共1页)
d******a
发帖数: 32122
1
i5机器,内存够
STATA运行某个用户贡献的程序,费时一小时
我这属于试算,每试算一次一小时,这没法忍
换i7也只能缩短到50分钟?
难道我只好自己拿C#写?
n******7
发帖数: 12463
2
改成并行的
或者一次跑4个job
d******a
发帖数: 32122
3

我的一个试算分成四个部分并行?这听着挺好,但可能吗?
还是四个试算同时进行?这倒是可行,就是没什么意义

【在 n******7 的大作中提到】
: 改成并行的
: 或者一次跑4个job

n******7
发帖数: 12463
4
我说的是data或者参数split
如果你需要测试不同data或者参数的结果,每个job分别处理不同的data/parameter就
好了
这是最简单的利用多核的方式
STATA我没用过,不知道改成C#能有多少提高
不过我一年前遇到过类似的情况
我的code开始是用R写的,本来够快
后来加了一些步骤之后慢的不行了
我就改成了java,速度大概50X以上
后来我又改成多线程了,并行度接近100%,所以速度是16X
这样运行时间降低了大概3个数量级
不过我要提醒你一点,java这样的通用语言统计方面的包远不如R之类的专业语言
不少东西我只好自己实现,很蛋疼
我估计你用C#也会有这个问题

【在 d******a 的大作中提到】
:
: 我的一个试算分成四个部分并行?这听着挺好,但可能吗?
: 还是四个试算同时进行?这倒是可行,就是没什么意义

P**H
发帖数: 1897
5
一次跑四个最简单了。为什么没意义?因为你就只有一个用户,还任务之间有依赖?

【在 d******a 的大作中提到】
:
: 我的一个试算分成四个部分并行?这听着挺好,但可能吗?
: 还是四个试算同时进行?这倒是可行,就是没什么意义

i***l
发帖数: 9994
6
你这种的不如上AMD的8核处理器/
d******a
发帖数: 32122
7
i5四核吧
不是说两核的i3都完灭AMD吗?

【在 i***l 的大作中提到】
: 你这种的不如上AMD的8核处理器/
n******7
发帖数: 12463
8
估计只会更差
AMD的所谓8核是4个module
每个module 2个整数运算单元+1个浮点运算单元
做浮点运算就是4核
更不用说AMD IPC非常差,就是核多一倍也没用
我测试过16core的xeon对24core的opteron
结果是xeon要快一倍

【在 i***l 的大作中提到】
: 你这种的不如上AMD的8核处理器/
y**b
发帖数: 10166
9
光靠机器是不行的,除非来个液氮超频。
提升代码效率的基本顺序是:
代码profiling->代码改进优化->openmp并行化->mpi并行化
n******7
发帖数: 12463
10
现在mpi也可以做shared memory计算
纯用mpi比mpi+openmp性能还好
不过这是我同事说的,他用纯mpi做了一个hybrid的并行项目

【在 y**b 的大作中提到】
: 光靠机器是不行的,除非来个液氮超频。
: 提升代码效率的基本顺序是:
: 代码profiling->代码改进优化->openmp并行化->mpi并行化

相关主题
用GPU加快计算速度是自动的吗?为什么大家这么黑NV呢?
我写的CUDA屏保软件ATI的6870系列支持并行计算功能(GTX的CUBA那种)吗?
请推荐linux workstation?近几年来cpu性能的提升实在太缓慢令人绝望
进入Hardware版参与讨论
y**b
发帖数: 10166
11
mpi一直可以做shared memory计算,在一台机器的内存里面通讯,性能能不好吗。
用mpi比mpi+openmp性能还好,很多情况是这样的,我做的情况也是如此。但是不能排
除有些情况不是如此。
关键是,mpi从设计到完成比openmp复杂太多。一个项目,时间上很可能不允许做mpi(
没个半年设计、开发、调试、大规模测试很难搞定),但是openmp很简单,几天几周基
本都能搞定。
mpi一旦做好了,就不是openmp能比的了。openmp只能运行在一个节点或一台工作站上
,mpi就没这个限制了,几百几千个节点并行的威力没法比。
n******7
发帖数: 12463
12
嗯,性能和实现速度之间确实需要取舍
可能我们的问题比较简单,我同事几天就搞定了
不过他也确实做的比较糙
后来讲他的工作,另一个同事发现他的并行效率超过100%了
最后的解释是有时候cluster的其他用户slowdown了有些节点,所以结果不稳定...

【在 y**b 的大作中提到】
: mpi一直可以做shared memory计算,在一台机器的内存里面通讯,性能能不好吗。
: 用mpi比mpi+openmp性能还好,很多情况是这样的,我做的情况也是如此。但是不能排
: 除有些情况不是如此。
: 关键是,mpi从设计到完成比openmp复杂太多。一个项目,时间上很可能不允许做mpi(
: 没个半年设计、开发、调试、大规模测试很难搞定),但是openmp很简单,几天几周基
: 本都能搞定。
: mpi一旦做好了,就不是openmp能比的了。openmp只能运行在一个节点或一台工作站上
: ,mpi就没这个限制了,几百几千个节点并行的威力没法比。

y**b
发帖数: 10166
13
呵呵,理论上是没法超过100%的,实际上90%的效率已经很惊人了,规模大的时候更是
不得了。除了问题本身和软件环境,跟具体的supercomputer架构也有关系。
比较快速高效的开发办法是直接使用C++ Boost提供的mpi库(就是一层包装,但非常可
靠),比调用那些原始的mpi函数好百倍。当然运行的时候得有这些库支持,这倒不是
啥问题。
结果不稳定?也是要跟串行结果比较的。
n******7
发帖数: 12463
14
就是跟串行的比较
1个core 要200h
64个core 只要1h
明显不对
不过paper已经发了
也没人管了
我感觉并行最关键的还是问题的领域
我们领域的问题基本都是高度可并的
其实单机并行我已经觉得很爽了
现在版上的千元双路机都有16核32线程
单机并行就可以缩短运行时间一个数量级
很客观了
也准备找机会玩玩MPI,一直对分布式计算很有兴趣

【在 y**b 的大作中提到】
: 呵呵,理论上是没法超过100%的,实际上90%的效率已经很惊人了,规模大的时候更是
: 不得了。除了问题本身和软件环境,跟具体的supercomputer架构也有关系。
: 比较快速高效的开发办法是直接使用C++ Boost提供的mpi库(就是一层包装,但非常可
: 靠),比调用那些原始的mpi函数好百倍。当然运行的时候得有这些库支持,这倒不是
: 啥问题。
: 结果不稳定?也是要跟串行结果比较的。

m*****n
发帖数: 3644
15
亲身经历:
1,把绝大多数命令行前面加qui
2,如果是一些迭代运算,试运算时限制迭代次数。比如用一个变量控制,试运算全部选
10,正式运算全部选40
3,用双路cpu。双X2670 Xeon非常便宜,16核。如果需要,我有一对可以退给你。
4,对于stata科学运算,其他指标一样,仅仅i5 VS i7的区别,也就是hyperthread,基
本没有提高
5,优化算法。

【在 d******a 的大作中提到】
: i5机器,内存够
: STATA运行某个用户贡献的程序,费时一小时
: 我这属于试算,每试算一次一小时,这没法忍
: 换i7也只能缩短到50分钟?
: 难道我只好自己拿C#写?

m*****n
发帖数: 3644
16
道理是这样,但是比如用STATA做分析的分析师,关注点在分析的问题本身,设计各种
回归模型,数据处理,而不在优化代码。

【在 y**b 的大作中提到】
: 光靠机器是不行的,除非来个液氮超频。
: 提升代码效率的基本顺序是:
: 代码profiling->代码改进优化->openmp并行化->mpi并行化

d******a
发帖数: 32122
17
上NVIDIA独立显卡,然后用CUDA是否可以大幅度提高计算速度?

【在 d******a 的大作中提到】
: i5机器,内存够
: STATA运行某个用户贡献的程序,费时一小时
: 我这属于试算,每试算一次一小时,这没法忍
: 换i7也只能缩短到50分钟?
: 难道我只好自己拿C#写?

V**0
发帖数: 889
18
不行,STATA不支持cuda等cpu computing
STATA对cpu的并行效率其实也看场合

【在 d******a 的大作中提到】
: 上NVIDIA独立显卡,然后用CUDA是否可以大幅度提高计算速度?
d******a
发帖数: 32122
19
我改用matlab或者Mathematica就可以了吧?


: 不行,STATA不支持cuda等cpu computing

: STATA对cpu的并行效率其实也看场合



【在 V**0 的大作中提到】
: 不行,STATA不支持cuda等cpu computing
: STATA对cpu的并行效率其实也看场合

d***a
发帖数: 13752
20
在cluster上并行效率超过100%,对一些计算/通讯比很高的程序来说,根本就不是什么
异常现象。最常见的原因是cache总和变大。一个处理器有8MB cache,32个处理器的
cache加起来就有256MB。这个现象,对搞高性能计算的人来说,是基本常识,读文献时
经常可见。我自己做实验也看到过好些次。

【在 n******7 的大作中提到】
: 嗯,性能和实现速度之间确实需要取舍
: 可能我们的问题比较简单,我同事几天就搞定了
: 不过他也确实做的比较糙
: 后来讲他的工作,另一个同事发现他的并行效率超过100%了
: 最后的解释是有时候cluster的其他用户slowdown了有些节点,所以结果不稳定...

相关主题
这两个cpu差别多大:E5-2670 vs E5-2698 v3AMD Zen架构大曝光:32核心+8通道DDR4内存
Sandy Bridge-E的价格出来了AMD Zen内核架构图首曝:32核心64线程 快科技 vivian 6小时47分钟前 AMD Zen全新架构的处理器将在2017年发布,陆续登陆桌面、服务器等市场。不同于当前推土机架构的双核合一模块,Zen将回归传统独立核心设计,并且有很特殊的组合方式。此前我们就曾介绍过,Zen处理器的基础模块叫做“Zeppelin”(齐柏林/ZP),今天我们第一次看到了它的基本架构图:可以清楚地看到,每一个Zeppelin模块都有8个物理核心(16个线程),每核心512KB二级缓存,同时每四个核心共享8MB三
AMD新款SoC架构APU不会是joke?最近手痒想装机
进入Hardware版参与讨论
y**b
发帖数: 10166
21
谢谢指出,这个superlinear speedup很有意思,这里说一般只有小规模才会出现?
https://wiki.scinet.utoronto.ca/wiki/index.php/Introduction_To_Performance
cache size的影响明显,但要碰巧problem size刚好在某个值附近才会发生
superlinear speedup,所以不是很普遍? 我猜测。
n******7
发帖数: 12463
22
你总算说点有意思的了
那么一般这个效率可以达到的上限是多少?
我感觉即使可以突破100%,提升也应该有限,不会有大幅的超出

【在 d***a 的大作中提到】
: 在cluster上并行效率超过100%,对一些计算/通讯比很高的程序来说,根本就不是什么
: 异常现象。最常见的原因是cache总和变大。一个处理器有8MB cache,32个处理器的
: cache加起来就有256MB。这个现象,对搞高性能计算的人来说,是基本常识,读文献时
: 经常可见。我自己做实验也看到过好些次。

w***g
发帖数: 5958
23
要快的话得用C++。

【在 d******a 的大作中提到】
: i5机器,内存够
: STATA运行某个用户贡献的程序,费时一小时
: 我这属于试算,每试算一次一小时,这没法忍
: 换i7也只能缩短到50分钟?
: 难道我只好自己拿C#写?

d***a
发帖数: 13752
24
是的,这个不是普遍现象,碰上了是运气。搞应用的,不能指望靠这个效应来提高性能
。但也不算太少见,所以写文章分析系统性能的时候,一定要知道可以用这个来解释异
常的性能提高。:) 当然还要加做实验,分析结果,才能确知。
另一个常见原因是内存总和变大了。有些程序浪费很多时间在存贮I/O上。放到cluster
上去运行,比如说一个节点有64GB内存,32个节点有就2TB内存,对某些程序来说就可
以大大减少I/O访问时间,也许所有的数据集都可以放到内存里,不用访问外存贮了。

【在 y**b 的大作中提到】
: 谢谢指出,这个superlinear speedup很有意思,这里说一般只有小规模才会出现?
: https://wiki.scinet.utoronto.ca/wiki/index.php/Introduction_To_Performance
: cache size的影响明显,但要碰巧problem size刚好在某个值附近才会发生
: superlinear speedup,所以不是很普遍? 我猜测。

y**b
发帖数: 10166
25
内存这个一般倒是都会做些分析,毕竟并行计算并不只是speedup,内存够用也非常重
要。有些计算对内存需求极大,非得到多个节点上均分一下才能算得动,典型的如三维
边界元方法。
好的scalability很重要的一点就是problem size增大的时候节点内存无需增加或者只
需缓慢增加,而且还能保持iso-efficiency。对不同的具体问题这种scalability都是
不同的,一般需要推演相关公式,如三维差分流动和三维离散元就有不同的
scalability,做深度耦合并行的时候就得很注意。
但是cache这东西实在很敏感,好像也没见到啥理论分析,不过我是搞应用的这方面知
之不深。
d***a
发帖数: 13752
26
内存的性能分析和预测比cache容易得多。Cache性能表现有一定的随机性。有不少软件
和硬件方法能提高cache性能,但性能预测本质上是概率性的,我个人看法是类似于天
气预报,仅做参考,不可全信。
y**b
发帖数: 10166
27
今天整理一下计算数据,吓一大跳,有很多efficiency>100%的情况。不仅如此,计算
规模越大(用到节点数越多),该情况越显著。
小规模计算(最多使用8节点)普遍低于100%;
中等规模计算(最多使用64节点)竟然全部大于100%;
大规模(最多使用1024个节点)在32节点下效率竟然达到2000%,768节点仍然有130%,
1024节点才降到87%。
我这个计算的特点是对内存要求极低,但对cpu要求非常高。确实具备了凑巧能把数据
放进cache的可能?
另外当时做这些计算用的是自己费力不讨好编译的intel mpi(同时还编译了openmpi,
稳定性差些就没采用),没用原机默认的mpi库(或者当时就没有,但后来os升级后又都
提供了),会不会有啥影响,现在都重算一遍是不可能了。
1 (共1页)
进入Hardware版参与讨论
相关主题
AMD Zen内核架构图首曝:32核心64线程 快科技 vivian 6小时47分钟前 AMD Zen全新架构的处理器将在2017年发布,陆续登陆桌面、服务器等市场。不同于当前推土机架构的双核合一模块,Zen将回归传统独立核心设计,并且有很特殊的组合方式。此前我们就曾介绍过,Zen处理器的基础模块叫做“Zeppelin”(齐柏林/ZP),今天我们第一次看到了它的基本架构图:可以清楚地看到,每一个Zeppelin模块都有8个物理核心(16个线程),每核心512KB二级缓存,同时每四个核心共享8MB三一个百元的GTX 950显卡能多大程度提高matlab计算速度?
最近手痒想装机用GPU加快计算速度是自动的吗?
等等吧。明年Zen出第二代,性能提升15%我写的CUDA屏保软件
AMD new 16 core HEDT Rumor请推荐linux workstation?
6700k+z170 vs 1700x+B350 选哪个?为什么大家这么黑NV呢?
数值计算的时候怎么提高CPU的使用率?ATI的6870系列支持并行计算功能(GTX的CUBA那种)吗?
AMD确实很差近几年来cpu性能的提升实在太缓慢令人绝望
AMD的APU上跑ArrayFire的exception这两个cpu差别多大:E5-2670 vs E5-2698 v3
相关话题的讨论汇总
话题: mpi话题: 并行话题: stata话题: 节点话题: 内存