【问题标题】:Proceacmiento distributed images with matlabProceacmiento 使用 matlab 分发图像
【发布时间】:2016-02-17 02:15:04
【问题描述】:

我在集群中进行图像处理,但未能达到最佳性能,我有一个复制边缘的函数和另一个应用过滤器或掩码的函数,但是当执行 MATLAB SPMD 时使用的程序不是随着时间的增加,在增加工人的同时满足每个人。

enter code here
      p1=parpool('local',4);
      addAttachedFiles(p1,{'Max_Duplicado_pixel.m',
      'funcion_Aplicacion_mascaras.m'});
      tic
      spmd
      d1=codistributor1d(2);
      c = codistributed(imA, d1);  
      som=funcion_Aplicacion_mascaras(
      Max_Duplicado_pixel(getLocalPart(c),sombrero),sombrero);     
      salida=gcat(som);
       end
      imshow(salida{1});
       end
       delete(gcp);   

enter code here

这是涂抹睫毛膏的功能

enter code here
     x=ceil(R1/2):R-floor(R1/2); 
     y=ceil(R1/2):C-floor(R1/2); 
     for b=-floor(R1/2):floor(R1/2)
         for a=-floor(R1/2):floor(R1/2)
             salida(x,y)=salida(x,y)+single(imagen(x+b,y+a))
            *sombrero(b+ceil(R1/2),a+ceil(R1/2));        
         end

     end
     temp=salida(ceil(R1/2):R-floor(R1/2),ceil(R1/2):C-floor(R1/2));
     image_procesada=uint8(temp);

【问题讨论】:

    标签: matlab image-processing spmd


    【解决方案1】:

    据我了解,您只是在做类似spmd,x=somefunction(),end 之类的事情,而从未使用过labindex。这不会加速您的计算,每个工作人员都会做完全相同的事情,评估x=somefunction()。如果有 5 个工作人员,该功能将被评估 5 次。看看parfor,它通常是编写并行代码最简单的概念。

    【讨论】:

    • 也可以试试这个 labindex 和 labSend 和 labReceive
    • 根据您提供的描述,我不知道您的代码应该做什么。据我所知,我只能告诉所有工人都在做同样的事情。也许更新您的问题并包括对您的代码的描述以及您希望工作人员如何拆分任务。
    • 我理解独立parfor是不使用这个数据来应用掩码spmd
    • 我不明白你的评论。
    • 不太懂英文,我理解'parfor'是针对数据不依赖的,好吧我想做的;我有一个集群,我想对图像执行分布式处理 no sé mucho inglés, Tengo entendido que la 'parfor'_ es para datos no dependientes, Bueno lo que quiero hacer; Tengo un cluster y Quiero realizar un procesamiento distribuido con imágenes
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2017-04-20
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多