2016-02-17 4 views
-1

Я занимаюсь обработкой изображений в кластере, но не смог добиться оптимальной производительности, у меня есть функция, которая реплицирует ребра, а другая - для применения фильтра или маски, но когда время выполнения MATLAB SPMD используемые программы не встречаются каждый при увеличении рабочего с увеличением времени.Proceacmiento распределенные изображения с matlab

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); 

ответ

0

Насколько я понимаю, вы просто делаете что-то вроде spmd,x=somefunction(),end никогда не используя labindex. Это не ускорит ваши вычисления, каждый работник будет делать то же самое, оценивая x=somefunction(). С 5 рабочими функция будет оцениваться 5 раз. Взгляните на parfor, это, как правило, самая простая концепция для написания параллельного кода.

+0

также попробуйте этот labindex и с labSend и labReceive –

+0

Основываясь на описании, которое вы указали, у меня нет идеи, что ваш код должен делать. Из того, что я вижу, могу сказать только, что все работники делают то же самое. Возможно, обновите свой вопрос и включите описание своего кода и как вы хотите, чтобы рабочие разделили задачу. – Daniel

+0

Я понял, что независимый parfor не должен использовать эти данные для применения маски spmd –