TA的每日心情 | 开心 2022-1-29 15:07 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
各位好,刚接触MATLAB并行一天,现在有个问题,不知道应该怎么做并行优化。
: l: J) c5 P' A2 P
+ W, {8 K3 c0 [& j1. 有Num_C 个数据集,每个数据集都是行数相同但列数不同的矩阵。( r4 e2 u. d0 X, c
2,分别对每个数据集做处理,调用同一个函数。- J; b" [7 F$ L
" {% A$ C! L6 g# [4 o
问题:但是用paRFor的时间还不如直接用用for。(for耗时105s,parfor耗时118s)。感觉跟spmd模式比较像 但不太会用,不知道哪位大侠能发现问题,小女子先谢过。 w' `9 u& X: q. U& ?
代码如下:
7 l% i8 E1 w* o- U(YT 是个cell结构,已知。
9 w, r' f* y% z1 E& o A 为矩阵,已知。functionimage为图像处理操作,并非简单的运算)' h! [( W6 V1 d% O( a( E' A- a
matlabpool open 4
3 P7 D# ?! U, }/ |7 m6 xNum_C = 8;$ l1 y: F0 m$ B4 O+ U
X_hat = cell(Num_C,1);/ ?4 T# t0 }6 n! [; a# r
tic;8 Y; q$ W: g& V
for m=1:Num_C
' \0 N# g8 m9 A' |; x! B [X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);
. x. S3 R/ `& y% _end; k/ k, j" j5 a) p
%end
5 i: o! U3 m1 O+ N$ n5 {. @toc;2 E) f8 r% E% a$ f' d' }0 |
9 E7 Q/ w8 l& V G Z
tic;4 C- c: `) p( c: q3 Z) N
parfor m=1:Num_C K. Q4 p, j# C. B
[X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);
/ i* ]4 g; m7 Send
% Z9 e$ d% |+ w; R$ [; z+ ttoc;+ s% @+ Y% h5 }' q
matlabpool close
! Y1 p; W: Z1 G4 g& I% _
) F. p$ R, ^* pCPU是AMD的四核。
N0 ~( q1 I: ~, J; \2 s |
|