找回密码
 注册
查看: 3574|回复: 3

关于openmp下共享变量访问的问题

[复制链接]
发表于 2010-5-5 13:55:19 | 显示全部楼层 |阅读模式

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

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

x
我用openmp在双核的机器上创建了两个线程,分别对一幅图象的上半部分和下半部分(不重叠)同时进行写操作。这时候,图象所占内存是共享变量,但是图象比较大,应该不容易出现伪共享的情况(这点我也不确定)。这种方法的计算时间和串行计算的时间差不多。
如果我为两个线程分别创建两块内存,设为私有变量,然后分别进行处理,最后把结果拷贝到整幅图象的内存中,(就是说把对共享变量的写操作放到最后进行)计算效率就提高了将近一倍。
因为就算是对共享变量进行写操作,但进行写操作的部分不会重叠,也就没有冲突的情况,我不知道为什么,请高手解答。谢谢!
 楼主| 发表于 2010-5-6 11:55:19 | 显示全部楼层

回复 1# stonylhy 的帖子

其实就是对多线程对共享数据访问冲突的问题不是很明白。可能道理很简单,但是我对openmp了解也不多,所以始终想不通明白。
发表于 2010-7-22 13:49:15 | 显示全部楼层

支持您

我支持您!
看完楼主的这个帖子之后,我竟感发生出一种无以名之的好感!



signature----------------------------------
吞噬星空
吞噬星空520
吞噬星空最新章节
发表于 2010-11-6 11:05:16 | 显示全部楼层
cache miss
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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