TA的每日心情 | 开心 2022-1-29 15:07 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
各位好,刚接触MATLAB并行一天,现在有个问题,不知道应该怎么做并行优化。
2 I5 b# X; q0 v& s2 r9 W1 x8 M
+ `! a8 M; M7 S1. 有Num_C 个数据集,每个数据集都是行数相同但列数不同的矩阵。
4 X0 B6 x! [4 S" H7 i! q2,分别对每个数据集做处理,调用同一个函数。6 }5 O/ w5 p% Q7 {" q
* O! O: V2 W, L3 B问题:但是用paRFor的时间还不如直接用用for。(for耗时105s,parfor耗时118s)。感觉跟spmd模式比较像 但不太会用,不知道哪位大侠能发现问题,小女子先谢过。
2 `: e- V; K3 k/ {7 }. e9 S代码如下:1 N, x- m. }* B% _! @
(YT 是个cell结构,已知。
. G$ V2 O0 o' l5 k8 D$ {, y( m A 为矩阵,已知。functionimage为图像处理操作,并非简单的运算)& c3 p2 `. }/ H" O1 q7 g
matlabpool open 4; c% A, d+ W$ K' B- l J9 V
Num_C = 8;7 H5 X% l- `* S; `5 @9 _- H W1 ^7 ~
X_hat = cell(Num_C,1);
7 ], q0 n& m- Y) o% J- ], i9 Stic;# `" B ^2 X1 g" X1 R: I
for m=1:Num_C/ E- Q7 d7 I. C+ g
[X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);, |3 H! Z M9 \% U
end
j, x; i% j' d( o%end! a% f, z" k$ i# X
toc;
" Y/ }1 C7 K' j# M
9 Z) P5 \* A- ]1 Btic;
+ L$ U" {' P2 b" Pparfor m=1:Num_C
4 l" l$ S+ t! ]& N. _$ P& u5 ][X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);+ {0 |; V; W; o) H9 t) w
end
) Z' p. n9 Y8 E& L+ b* f, `toc;; E0 ]) G) X; q. V3 u
matlabpool close$ f& R4 [# T. m) c5 `" X
- b% l* P3 y1 g" T# \! E# \* tCPU是AMD的四核。) ^4 s- a( b+ I; `
|
|