有没有MPI功能可以做部分数据交换?

时间:2014-04-02 13:41:44

标签: multithreading parallel-processing openmpi

我正在尝试最近并行化我的图像平滑程序

这样做的算法很容易理解。

#define MAX_SMOOTH_LEVEL 1000
For i=0 to MAX_SMOOTH_LEVEL
    For each pixel in rgb
        Color rgb[IMG_HEIGHT][IMG_WIDTH], newrgb[IMG_HEIGHT][IMG_WIDTH];
        new_rgb[i][j]=(rgb[i][j]+rgb[i-1][j]+rgb[i+1][j]+rgb[i][j+1]+rgb[j-1])/5;
    Next
Next

如果rgb [i-1] [j]超出界限(i-1 <0),则使用rgb [imgHeight-1] [j]的颜色......等等....

以下图片是我将计算并行化的想法。我认为这很清楚了!

parallel

我想问一下我的想法是否合理?我们真的需要等待所有任务在下一次计算之前完成他们的工作吗?

抱歉我的英语不好。我努力修复语法错误

0 个答案:

没有答案