TA的每日心情 | 开心 2022-1-29 15:07 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
各位好,刚接触MATLAB并行一天,现在有个问题,不知道应该怎么做并行优化。2 P2 _+ ` N7 q* k
: c5 T* }' B4 [, Z/ f, ?) |4 Z' L. ?1. 有Num_C 个数据集,每个数据集都是行数相同但列数不同的矩阵。8 ?: H9 @6 n0 ~* Z- A) I' p( D! L+ O
2,分别对每个数据集做处理,调用同一个函数。: b; Y3 z3 \3 l! d+ C& d `6 ^
. [( |2 G* {, ^' p
问题:但是用paRFor的时间还不如直接用用for。(for耗时105s,parfor耗时118s)。感觉跟spmd模式比较像 但不太会用,不知道哪位大侠能发现问题,小女子先谢过。: H% p6 a+ _( w. N! e5 P. J
代码如下:4 _4 P7 W I9 }4 ?1 f! Z
(YT 是个cell结构,已知。
- R, q. \$ t; U# D. O& A A 为矩阵,已知。functionimage为图像处理操作,并非简单的运算)
% T; p: R% H0 f. D) Hmatlabpool open 4; }4 N" c1 v7 J. _; ~: m: n
Num_C = 8;
3 N m& L! J7 d) y# qX_hat = cell(Num_C,1);$ l1 I# g8 r4 _7 {( \
tic;. D- ?( d+ ~. }0 f
for m=1:Num_C" ^/ {! E7 z0 T, t
[X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);
0 N q; ?* V5 Y d- O# V2 @end
4 b1 ?" J; R1 s%end
L9 _0 q4 P' e- |0 s8 _0 rtoc;
, S: R0 ]6 x1 ?
" F$ w# C. G1 ]; E' xtic;$ q& q+ G7 P7 y4 y2 R: ~/ X
parfor m=1:Num_C) W' s1 c0 R5 ?) O
[X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);' |5 Z) ]: Z* l- i# O6 _6 I
end
# ` S4 ~0 P7 f/ ~( Y( e2 Qtoc;
_ [ z* o5 L6 O9 z7 p7 i" jmatlabpool close
+ h H( M3 G) }5 Y9 j5 m$ P+ I8 ?8 J# F
CPU是AMD的四核。
& [6 w/ o" {' X |
|