由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Hardware版 - 不知道该不该在这里问。。。MATLAB在i7上跑的线程问题
相关主题
i5到i7究竟有多大区别?请问intelCPU的HT技术能使多线程程序变快吗?
有人为家里配过服务器么现在多县城的软件多吗?
请教:$6000 配置一台计算服务器现在笔记本CPU都6核了呀
win7电脑装16GB 的内存后真爽AMD 7nm/12nm线程撕裂者CPU曝光:取代Intel统治x86
AMD六核 $105MATLAB,Core i5-660好还是Core i5-750好?
Intel i3, i5, i7请教版上大拿
请教 Intel Xeon X5687 都是4核8线程吗?MATLAB用不满CPU
2000刀预算,8核的台式机能买到吗?请教台式机选择
相关话题的讨论汇总
话题: matlab话题: cpu话题: ht话题: i7话题: 线程
进入Hardware版参与讨论
1 (共1页)
t******8
发帖数: 2803
1
我编的一个MATLAB程序没有考虑parallel computing。在i7-860(4核8线程),Win7下
面MATLAB2009a运行,只占
用13%的CPU。也就是说MATLAB2009a似乎把i7-860当成了一个8核CPU。请问如何才能让
它充分利用整个核
(25%)?需要改环境参数?怎么改?
我暂时的解决之道是在这台Win7机器下开5个MATLAB窗口,跑5个这样的程序(留3个线
程上网灌水看电影……),分别
占用13% CPU,每个任务的速度降低50%左右。如果这样也凑合。
实验室还有一台MacPro,用的是i7-920的xeon版本,也是4核8线程。运行一个任务速度
比Win7机器快,但是Mac OS
10.5下好像只能开一个MATLAB窗口,CPU占用率也只有13%,请问有什么方法能同时运行
多个MATLAB任务?
q********g
发帖数: 10694
2
13%表明你只用了一个core的计算能力,100/8=13%
没有考虑parallel computing只能用一个core啦。
t******8
发帖数: 2803
3
我也是这样认为的。但i7其实物理上是4 core,每个core两条线程而已,我猜Matlab由于Hyperthreading的存在把i7看成
了一个8核CPU。我想问问有什么办法能把这个CPU当作真正的4核来用,或者说有什么办法disable掉hyperthreading,
让一个MATLAB进程的占用率达到25%。

【在 q********g 的大作中提到】
: 13%表明你只用了一个core的计算能力,100/8=13%
: 没有考虑parallel computing只能用一个core啦。

D*****e
发帖数: 761
4
ding.
我也有这样的疑问,不知关闭超线程是不是能提高效率。
i****a
发帖数: 36252
5
it doesn't matter how much cpu utilization it shows in task manager ba.
why do you care?

由于
Hyperthreading的存在把i7看成
办法disable
掉hyperthreading,

【在 t******8 的大作中提到】
: 我也是这样认为的。但i7其实物理上是4 core,每个core两条线程而已,我猜Matlab由于Hyperthreading的存在把i7看成
: 了一个8核CPU。我想问问有什么办法能把这个CPU当作真正的4核来用,或者说有什么办法disable掉hyperthreading,
: 让一个MATLAB进程的占用率达到25%。

t******8
发帖数: 2803
6
是这样么?我以为HT的存在会使MATLAB只占用4核CPU的半个核,而关掉HT会让MATLAB利
用4核CPU的一个核。这个
理解是错的?

【在 i****a 的大作中提到】
: it doesn't matter how much cpu utilization it shows in task manager ba.
: why do you care?
:
: 由于
: Hyperthreading的存在把i7看成
: 办法disable
: 掉hyperthreading,

m**********e
发帖数: 12525
7
mpich
http://www.mcs.anl.gov/research/projects/mpi/mpich2/
当年帮人在challenger上用过

【在 t******8 的大作中提到】
: 我编的一个MATLAB程序没有考虑parallel computing。在i7-860(4核8线程),Win7下
: 面MATLAB2009a运行,只占
: 用13%的CPU。也就是说MATLAB2009a似乎把i7-860当成了一个8核CPU。请问如何才能让
: 它充分利用整个核
: (25%)?需要改环境参数?怎么改?
: 我暂时的解决之道是在这台Win7机器下开5个MATLAB窗口,跑5个这样的程序(留3个线
: 程上网灌水看电影……),分别
: 占用13% CPU,每个任务的速度降低50%左右。如果这样也凑合。
: 实验室还有一台MacPro,用的是i7-920的xeon版本,也是4核8线程。运行一个任务速度
: 比Win7机器快,但是Mac OS

c******d
发帖数: 906
8
在bios里关掉HT
i7本来是4core,打开HT,被windows认为是8core,
所以每个core只有100/8=13

【在 t******8 的大作中提到】
: 我编的一个MATLAB程序没有考虑parallel computing。在i7-860(4核8线程),Win7下
: 面MATLAB2009a运行,只占
: 用13%的CPU。也就是说MATLAB2009a似乎把i7-860当成了一个8核CPU。请问如何才能让
: 它充分利用整个核
: (25%)?需要改环境参数?怎么改?
: 我暂时的解决之道是在这台Win7机器下开5个MATLAB窗口,跑5个这样的程序(留3个线
: 程上网灌水看电影……),分别
: 占用13% CPU,每个任务的速度降低50%左右。如果这样也凑合。
: 实验室还有一台MacPro,用的是i7-920的xeon版本,也是4核8线程。运行一个任务速度
: 比Win7机器快,但是Mac OS

t******8
发帖数: 2803
9
嗯。我回去先装个MATLAB2010a看看有没有优化。不行的话再改改BIOS试试看效率有没
有变化。
那么有什么办法在苹果机上开多个MATLAB窗口?或者再苹果上怎么关掉HT。。。。
c*m
发帖数: 1114
10
我觉得你应该去google一下,关掉HT占cpu 25%不见得比不关HT 占cpu 13%就快。单线程
cpu的计算能力应该是一定的,即使会比关HT的差点也不会差很多,否则提出HT这个概
念就是个joke. 25%和13%这些数值不能说明任何问题。

【在 t******8 的大作中提到】
: 嗯。我回去先装个MATLAB2010a看看有没有优化。不行的话再改改BIOS试试看效率有没
: 有变化。
: 那么有什么办法在苹果机上开多个MATLAB窗口?或者再苹果上怎么关掉HT。。。。

相关主题
Intel i3, i5, i7请问intelCPU的HT技术能使多线程程序变快吗?
请教 Intel Xeon X5687 都是4核8线程吗?现在多县城的软件多吗?
2000刀预算,8核的台式机能买到吗?现在笔记本CPU都6核了呀
进入Hardware版参与讨论
t******8
发帖数: 2803
11
谢啦,我研究一下

【在 m**********e 的大作中提到】
: mpich
: http://www.mcs.anl.gov/research/projects/mpi/mpich2/
: 当年帮人在challenger上用过

t******8
发帖数: 2803
12
嗯。我研究一下。回去做个实验比较一下。不过我开5个窗口的确不太靠谱……

线程

【在 c*m 的大作中提到】
: 我觉得你应该去google一下,关掉HT占cpu 25%不见得比不关HT 占cpu 13%就快。单线程
: cpu的计算能力应该是一定的,即使会比关HT的差点也不会差很多,否则提出HT这个概
: 念就是个joke. 25%和13%这些数值不能说明任何问题。

t****g
发帖数: 35582
13
HT的优势在于当并发线程数量大于核的数量但是单个线程的运算量又不足以占满整个核
的运算能力的时候有用。相当于虚拟的把一个核掰成两个用。

线程

【在 c*m 的大作中提到】
: 我觉得你应该去google一下,关掉HT占cpu 25%不见得比不关HT 占cpu 13%就快。单线程
: cpu的计算能力应该是一定的,即使会比关HT的差点也不会差很多,否则提出HT这个概
: 念就是个joke. 25%和13%这些数值不能说明任何问题。

t******8
发帖数: 2803
14
也就是我跑4个matlab进程的时候可以100%利用CPU?

【在 t****g 的大作中提到】
: HT的优势在于当并发线程数量大于核的数量但是单个线程的运算量又不足以占满整个核
: 的运算能力的时候有用。相当于虚拟的把一个核掰成两个用。
:
: 线程

c*m
发帖数: 1114
15
这个很奇怪,intel网站上也是这个说法,基本就是在multi-thread application情况下
能充分利用cpu能力。不过没有提single-thread的application情况。
如果对单线程程序也一样,那HT对于所有单线程的application 处理能力都下降一半?
这个感觉好不合理。

【在 t****g 的大作中提到】
: HT的优势在于当并发线程数量大于核的数量但是单个线程的运算量又不足以占满整个核
: 的运算能力的时候有用。相当于虚拟的把一个核掰成两个用。
:
: 线程

t****g
发帖数: 35582
16
不会的。所有我看过的评测跑single thread, 带HT的CPU没有比不带的慢,类似架构,
同频率的话。
只有当并发线程数大于核的数量的时候才会HT打开。
LZ看到的这个问题应该是windows的task manager的问题。也就是说虽然只显示13%,但
实际上确实是一个核在全速跑。LZ即便关掉HT,显示成25%,但是速度其实还是一样的。
我是这么猜测的,LZ可以捡个代码片断,用matlab的timer计个时。看看两种情况下有
没差别,来报告一下。我猜没区别。

况下

【在 c*m 的大作中提到】
: 这个很奇怪,intel网站上也是这个说法,基本就是在multi-thread application情况下
: 能充分利用cpu能力。不过没有提single-thread的application情况。
: 如果对单线程程序也一样,那HT对于所有单线程的application 处理能力都下降一半?
: 这个感觉好不合理。

m**********e
发帖数: 12525
17
你们这个问题应该这么理解:
matlab只能spawn一个进程,操作系统或者cpu的硬件能不能把这个进
程分裂成4个分配给4个core?
答案是否定的。
一定要用mpi或者pvm,这样matlab才能spawn多个进程,再由操作系统分配给
4个cpu。
t****g
发帖数: 35582
18
matlab现在有多少funtion支持多核了?比如像fft,矩阵转置,求特征值之类的应该很
容易实现

【在 m**********e 的大作中提到】
: 你们这个问题应该这么理解:
: matlab只能spawn一个进程,操作系统或者cpu的硬件能不能把这个进
: 程分裂成4个分配给4个core?
: 答案是否定的。
: 一定要用mpi或者pvm,这样matlab才能spawn多个进程,再由操作系统分配给
: 4个cpu。

u*****r
发帖数: 176
19
I think you can use Matlab parallel toolbox. It's more easy to use than
writing mpi or openmp program.
For example change for to parfor. And make sure there is not any loop
carried dependence between loops. For most simple job, it works pretty good.
u*****r
发帖数: 176
20
Another thing is vecterize your code, I found great performance improvement.
And use matlab profiler to find the slow part of your program.
相关主题
AMD 7nm/12nm线程撕裂者CPU曝光:取代Intel统治x86MATLAB用不满CPU
MATLAB,Core i5-660好还是Core i5-750好?请教台式机选择
请教版上大拿fusion drive还是ssd?
进入Hardware版参与讨论
t******8
发帖数: 2803
21
谢谢!:)

improvement.

【在 u*****r 的大作中提到】
: Another thing is vecterize your code, I found great performance improvement.
: And use matlab profiler to find the slow part of your program.

D*******a
发帖数: 3688
22
貌似这些都多核了
另外,自己写的程序可以用parfor

【在 t****g 的大作中提到】
: matlab现在有多少funtion支持多核了?比如像fft,矩阵转置,求特征值之类的应该很
: 容易实现

j*****y
发帖数: 45
23
关掉超线程

【在 t******8 的大作中提到】
: 我编的一个MATLAB程序没有考虑parallel computing。在i7-860(4核8线程),Win7下
: 面MATLAB2009a运行,只占
: 用13%的CPU。也就是说MATLAB2009a似乎把i7-860当成了一个8核CPU。请问如何才能让
: 它充分利用整个核
: (25%)?需要改环境参数?怎么改?
: 我暂时的解决之道是在这台Win7机器下开5个MATLAB窗口,跑5个这样的程序(留3个线
: 程上网灌水看电影……),分别
: 占用13% CPU,每个任务的速度降低50%左右。如果这样也凑合。
: 实验室还有一台MacPro,用的是i7-920的xeon版本,也是4核8线程。运行一个任务速度
: 比Win7机器快,但是Mac OS

k********e
发帖数: 702
24
你中了windows的障眼法
最重要的是运行完成需要的时间,而不是占?% CPU
虽然task manager告诉你 13% CPU占用,实际上还是跑满了4个core中间的一个。
只不过task manager显示比例为full/8 而已。
你关掉HT,其结果也是跑满了4个core中间的一个。而比例为full/4,让你觉得很开心
,好像利用率高了一倍。
实际上速度是一样的。
D*****e
发帖数: 761
25
找到了这个比较,可以参考:
http://74.125.95.132/search?q=cache:ehuJrXxbuVoJ:ixbtlabs.com/articles3/cpu/ci7-turbo-ht-p1.html+matlab+i7+hyperthread&cd=1&hl=en&ct=clnk&gl=us
http://ixbtlabs.com/articles3/cpu/archspeed-2009-5-p3.html
我的结论是需要自己实际测量一下,HT对某些程序有好处,特别是已经多核优化的
functions.
1 (共1页)
进入Hardware版参与讨论
相关主题
请教台式机选择AMD六核 $105
fusion drive还是ssd?Intel i3, i5, i7
数值计算的时候怎么提高CPU的使用率?请教 Intel Xeon X5687 都是4核8线程吗?
[合集] 这个 CPU 的事情,能不能搞多个 ARM core2000刀预算,8核的台式机能买到吗?
i5到i7究竟有多大区别?请问intelCPU的HT技术能使多线程程序变快吗?
有人为家里配过服务器么现在多县城的软件多吗?
请教:$6000 配置一台计算服务器现在笔记本CPU都6核了呀
win7电脑装16GB 的内存后真爽AMD 7nm/12nm线程撕裂者CPU曝光:取代Intel统治x86
相关话题的讨论汇总
话题: matlab话题: cpu话题: ht话题: i7话题: 线程