matlab多核计算设置1
来源:互联网 发布:mac在线恢复加速2017 编辑:程序博客网 时间:2024/06/08 13:37
刚才试了一下,我使用的MATLAB2010可以多核运行的。需要多核多线程跑的算法,在之前要让matlab在本地建立4个“实验室”(我的机器是4核,所以是4个)
>> matlabpool local 4
Starting matlabpool using the 'local' configuration ... connected to 4 labs.
显示正在进行多核配置,一会说,连接到4个“实验室”。我理解就是在本地虚拟出4台可以运行matlab的工作站,这样用分布式计算工具箱可以进行并行计算(matlabpool这个命令好像是在并行计算工具箱里的)。观察windows任务管理器,可以发现一共有5个MATLAB.exe进程。其中一个占内存较多的,我理解是主控的,他基本不干活,只负责分配,进行计算时他的cpu占用率只有1~2%,剩下四个进程专门用来计算的,跑起来各占cpu 25%左右。看上去还是每个matlab进程单核运算,但是一下开4个进程,所以能把cpu用满。
如果后续还需要多核运算,就直接用parfor好了,不用每次都用matlabpool命令。那个配置一次就好。
算完了,不再跑了,临退出时关闭配置就行。
>> matlabpool close
Sending a stop signal to all the labs ... stopped.
下面是我一个M文件的程序,测测4核并行计算和单核计算的差距,很简单。
function testtime
runtimes = 1e9;
dummy1 = 0;
dummy2 = 0;
%matlabpool local 4
tic
%for x= 1:runtimes;
parfor x= 1:runtimes;
dummy1 = dummy1 + x;
dummy2 = 2 * x + 1;
end
toc
plot([1 2], [dummy1, dummy2]);
第一次用普通for语句,单核跑,6.09秒
>> testtime
Elapsed time is 6.094267 seconds.
第二次用parfor语句,4核跑,1.63秒
>> matlabpool local 4
Starting matlabpool using the 'local' configuration ... connected to 4 labs.
>> testtime
Elapsed time is 1.631350 seconds.
>> matlabpool close
>> matlabpool local 4
Starting matlabpool using the 'local' configuration ... connected to 4 labs.
显示正在进行多核配置,一会说,连接到4个“实验室”。我理解就是在本地虚拟出4台可以运行matlab的工作站,这样用分布式计算工具箱可以进行并行计算(matlabpool这个命令好像是在并行计算工具箱里的)。观察windows任务管理器,可以发现一共有5个MATLAB.exe进程。其中一个占内存较多的,我理解是主控的,他基本不干活,只负责分配,进行计算时他的cpu占用率只有1~2%,剩下四个进程专门用来计算的,跑起来各占cpu 25%左右。看上去还是每个matlab进程单核运算,但是一下开4个进程,所以能把cpu用满。
如果后续还需要多核运算,就直接用parfor好了,不用每次都用matlabpool命令。那个配置一次就好。
算完了,不再跑了,临退出时关闭配置就行。
>> matlabpool close
Sending a stop signal to all the labs ... stopped.
下面是我一个M文件的程序,测测4核并行计算和单核计算的差距,很简单。
function testtime
runtimes = 1e9;
dummy1
dummy2
%matlabpool local 4
tic
%for x= 1:runtimes;
parfor x= 1:runtimes;
end
toc
plot([1 2], [dummy1, dummy2]);
第一次用普通for语句,单核跑,6.09秒
>> testtime
Elapsed time is 6.094267 seconds.
第二次用parfor语句,4核跑,1.63秒
>> matlabpool local 4
Starting matlabpool using the 'local' configuration ... connected to 4 labs.
>> testtime
Elapsed time is 1.631350 seconds.
>> matlabpool close
加速比 6.09 / 1.63 = 3.736,将近4倍(还有开销吧),还比较可观。
原文地址:http://blog.sina.com.cn/s/blog_6fb22e5b0100pxie.html
0 0
- matlab多核计算设置1
- matlab 多核计算设置2
- Matlab多核运算(一)
- matlab 多核并行编程
- 多核计算与程序设计
- 多核计算与程序设计
- Python 多核并行计算
- CSDN 英特尔多核计算技术版精华贴整理(1)
- C# IPP多核计算(原文)
- 多核计算与并发编程
- 1、matlab机器人运动学计算
- 【Python】【并行计算】Python 多核并行计算
- 面向多核的数值计算:NAG多核并行算法库
- Matlab 多核 多个CPU 并行运算
- 【Matlab学习随笔系列1——Matlab计算基础】
- OpenCL的多GPU和多核CPU异构计算--1
- OpenCL的多GPU和多核CPU异构计算--1
- 高房价与多核分布式计算
- oracle语句转mysql语句所遇到的问题
- HDU5198
- 第5周项目1-体验常成员函数
- 设计模式原则之接口隔离原则
- struct和typedef struct
- matlab多核计算设置1
- uva 10465 简单dp标记
- nyoj 711 最舒适的路线
- www.youkud.com开发手记
- (山东省第一届省赛 I 题) SDUTOJ 2159 Ivan comes again! (线段树+set)
- matlab 多核计算设置2
- (9.1.3)线性代数之矩阵变换和线性方程组
- android让TextView滚起来
- Bit-map算法