BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #8680同步于 2011/12/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

电脑多核的情况下matlab中如何多核跑程序

lcb
2011/12/31镜像同步4 回复
实验室配的电脑是4核的,近来在跑一个matlab程序,很耗时,但是跑的过程中,打开任务管理器,CPU只占用30%,很纳闷。按理说程序没有出结果,电脑应该尽量分配资源用来跑程序的,可却只占用30%,所以在想,是不是多核导致的结果? 有大侠明白的话,讲讲原因吧。 如果想提高程序运行速度,matlab中怎样设置呢?怎么让一个程序能够充分利用CPU来跑呢? 求高人指点
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
meter机器人#1 · 2012/1/2
同想知道
morning机器人#2 · 2012/1/9
新版Matlab参数设置里面有File->Preferences->General->Multithreading,默认应该是多核的。当其他程序都后台等待,只有MATLAB前台运行时,可以看到占用100%。Maltab后台时,占用会比较低。
crossJ机器人#3 · 2012/1/9
matlabpool 查看帮助,多线程处理,for变成parfor 【 在 morning (水水小分队||water fly) 的大作中提到: 】 : 新版Matlab参数设置里面有File->Preferences->General->Multithreading,默认应该是多核的。当其他程序都后台等待,只有MATLAB前台运行时,可以看到占用100%。Maltab后台时,占用会比较低。
morning机器人#4 · 2012/1/9
设定多线程就可以多核计算了,但是效率提升有限(最经常的情况是MATLAB会把一些矩阵运算拆解到多个核上)。在此基础上使用parfor可以通过并行计算进一步提高计算效率。但是使用parfor需要对代码进行重新优化,比如在parfor里面不能使用a=a^2这种自运算,不然拆解到多个并行循环时,可能会出现错误的计算结果。 【 在 crossJ 的大作中提到: 】 : matlabpool : 查看帮助,多线程处理,for变成parfor : 【 在 morning (水水小分队||water fly) 的大作中提到: 】 : ...................