找回密码
 注册
查看: 4155|回复: 1

OpenMP问题

[复制链接]
发表于 2010-3-23 09:37:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我动态定义了一个数组(f[y][x],在另外一个文件里面)。但是在并行结构,#pragma omp sections里面老是发生访问冲突。如何解决?串行是没问题的。

**********************************************************************************
# pragma omp parallel private(tempf)
# pragma omp sections
        {
# pragma omp section
                {
                        /* Vector 5 */
                        for (x=max_x-1; x>=0; x--)        /*boundary*/
                                tempf[x]=f[5][max_y-1][x];
                        for(y=max_y-1;y>0;y--){
                                for(x=max_x-1;x>0;x--)
                                        f[5][y][x]=f[5][y-1][x-1];
                                f[5][y][0]=f[5][y-1][max_x-1];
                        }
                        for(x=max_x-1; x>0; x--)
                                f[5][0][x]=tempf[x-1];
                        f[5][0][0]=tempf[max_x-1];
                        printf("finish f[5], at %d\n", omp_get_thread_num());
                }
 楼主| 发表于 2010-3-26 10:35:49 | 显示全部楼层
问题解决了,是我没有加private——对openmp理解不深。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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