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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    各位好,刚接触MATLAB并行一天,现在有个问题,不知道应该怎么做并行优化。5 s: b0 M, |6 E$ A

      R. V8 t2 w- E8 X8 \9 D) y1.  有Num_C 个数据集,每个数据集都是行数相同但列数不同的矩阵。8 O) X  z, M, w) Q3 m  A
    2,分别对每个数据集做处理,调用同一个函数。
    0 M2 _9 x) X. h! p: S) b
    ! d/ i* Q$ T6 X. ]问题:但是用paRFor的时间还不如直接用用for。(for耗时105s,parfor耗时118s)。感觉跟spmd模式比较像 但不太会用,不知道哪位大侠能发现问题,小女子先谢过。
    4 u# r( R: E+ X/ n8 a代码如下:
    1 p- P- W4 b- V# w7 ^(YT 是个cell结构,已知。
    / ?* r9 z- v4 @6 p- E: X   A 为矩阵,已知。functionimage为图像处理操作,并非简单的运算)7 F- I9 K) G2 @( C, q
    matlabpool open 4
    & K) e, z  s4 f8 J5 o* uNum_C = 8;' P7 d( f+ @. [* B3 H
    X_hat = cell(Num_C,1);
    8 Z4 a, n8 B- ?tic;6 u0 B, }) ]/ T* a" i) j: g  K0 n
    for m=1:Num_C
    , B( S, G/ M' D% d9 g   [X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);
    + E, G0 I- C% m" z, c0 vend3 _2 E% u! m$ P* p& O
    %end7 x$ i( f  g' Q6 V) \% g: S( Y
    toc;0 e( M, c, L% J% I% |! P
    9 _+ D. ]- S" ?( g0 m
    tic;9 O5 g+ O; l" ?7 x
    parfor m=1:Num_C" \: p  {) O+ E, G
    [X_hat{m}] = functionimage(A,YT{m},0.05,1e-2,200);
    & J2 ], x& x5 Z1 vend
    + Z$ E0 n7 N4 \( Q( K. Otoc;1 k! A+ {2 J+ u7 x4 e
    matlabpool close) F' F$ H3 ]4 b4 y+ Q

    ) g: s& u2 C. I. l- mCPU是AMD的四核。
      I' Z8 {. w: l: I) g1 M" r# v
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-4 09:26 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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