找回密码
 注册
关于网站域名变更的通知
查看: 484|回复: 2
打印 上一主题 下一主题

求教一个用parfor还是spmd的并行问题

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-10-31 14:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    各位好,刚接触MATLAB并行一天,现在有个问题,不知道应该怎么做并行优化。
    4 s+ a+ D( ?& x8 l: @- F; {' N0 ~0 N, x5 f% O
    1.  有Num_C 个数据集,每个数据集都是行数相同但列数不同的矩阵。; H& P8 K. ^9 d5 i& z; J, W* E
    2,分别对每个数据集做处理,调用同一个函数。! |8 k3 G4 p6 S$ H& a* n; m, \
      p$ h* ]& ]' B8 \
    问题:但是用paRFor的时间还不如直接用用for。(for耗时105s,parfor耗时118s)。感觉跟spmd模式比较像 但不太会用,不知道哪位大侠能发现问题,小女子先谢过。
    $ N$ C( }4 O- k代码如下:8 S* w  w- b5 |3 E/ J) T
    (YT 是个cell结构,已知。
    + u. D- M7 c. v- t   A 为矩阵,已知。functionimage为图像处理操作,并非简单的运算)# C0 X3 r8 e5 R4 [) h* |
    matlabpool open 4$ P, N$ H' J' J3 @7 C/ r
    Num_C = 8;
    : p- s: ~/ }0 u) Q# pX_hat = cell(Num_C,1);$ x' P* n& p8 v) |! r
    tic;
    ) J, q" k! o2 x3 t  s/ ?for m=1:Num_C% Y4 \1 i" n" S+ D! T6 {
       [X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);& W" g5 W' l- \0 H* R; M6 @6 D& S
    end
    7 R: ?8 Q3 F6 i% R9 \% W%end
    . j4 T) A# Q7 ptoc;7 h* a) D2 ~8 ^6 Y5 y
    / n' l6 }2 Y6 B9 u8 V- {
    tic;
    7 M- Q; S/ B, c6 U$ d6 g; H% q6 Xparfor m=1:Num_C4 Y% [9 S( E4 I- p% [& {
    [X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);# N" i* b( n0 e+ E
    end* p3 W5 p; y; X7 n
    toc;$ n/ j9 G7 A; o, |6 {1 ~
    matlabpool close
    8 R0 W/ I' _8 f& z* t( u
    : U8 `# w5 w2 C! sCPU是AMD的四核。
    % `9 e% T9 i4 B6 y: y# q* O  X
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-10-31 15:10 | 只看该作者
    Num_c在比较大的时候parfor的威力才能显现出来。 parfor是这样的,分别分几个m取不同值,在不同核里运行,当然核与核之间有信息交互的时间。 所以当循环次数较小时,信息交互的时间占了大头
    & G0 T5 j, _2 Q0 f
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-10-31 15:17 | 只看该作者
    看你不开并行105S开了118S,应该是开启worker花了较多时间,如果正常应用也只有100S左右的话真的不必非要用并行。% f6 _, Y$ P' [/ G- p6 R
    我自己试过,光开启多个work那个matlabpool open就花费大概40S的时间,你可以试试先开worker,然后使用parfor命令单独测试仅仅并行计算而不带有开关worker命令所用时间,应该是挺短的。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 13:15 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表