用户
 找回密码
 立即注册
wzk6_3_8 该用户已被删除
发表于 2013-12-3 19:16:53
91058
请问, 假如block之间会同时访问几处内存,所以访问时用atomic操作。 我的问题是:不同内存地址之间是不是存在atomic冲突?即两个线程atomic访问不同内存地址,存在冲突吗?

使用道具 举报 回复
发表于 2013-12-3 19:27:34
楼主您好:

楼主您好,

如果是global memory, 地址不同,也可能存在冲突的,这要看底层的L2(你的global memory上的原子操作的实际执行者)的多组间是怎么配置的了,这个手册没有给出具体的配置关系。但你可以认为此时比同一地址一般要好。

如果是shared memory, 地址不同,则要看是否是同一的SM上,如果不是,那么无任何关系(SM和SM间无关的)。如果是在同一SM上,属于同一bank,根据第三方的不可靠的资料,则会存在冲突。

感谢您的来访。


使用道具 举报 回复 支持 反对
发表于 2013-12-3 20:35:15
玫瑰幻想 发表于 2013-12-3 19:27
楼主您好:

楼主您好,

您好。我想问的 是对不同地址 (不属于同一个L2 cache LIne) 的 atomic操作会不会影响相互之间的访问?
使用道具 举报 回复 支持 反对
发表于 2013-12-3 20:37:51
wzk6_3_8 发表于 2013-12-3 20:35
您好。我想问的 是对不同地址 (不属于同一个L2 cache LIne) 的 atomic操作会不会影响相互之间的访问? ...

刚才和您说过了,

根据已有的第三方资料,这是有可能的。

建议您重新阅读。

(以及,实际上请不要考虑这个,真要考虑你也没法,无资料的。建议在日常应用中,注意主要别频繁几种在一个地址上即可。您说呢?)
使用道具 举报 回复 支持 反对
发表于 2013-12-3 20:58:39
玫瑰幻想 发表于 2013-12-3 20:37
刚才和您说过了,

根据已有的第三方资料,这是有可能的。

不好意思。我懂你意思了。能否推荐这个资料的出处?谢谢。
使用道具 举报 回复 支持 反对
发表于 2013-12-3 21:06:13
wzk6_3_8 发表于 2013-12-3 20:58
不好意思。我懂你意思了。能否推荐这个资料的出处?谢谢。

抱歉我不能给出此非官方资料的具体地址,

我简要的说一下吧(请注意,仅供参考):
global memory上的原子操作在L2上进行,
而我们认为的一个大L2实际上由多组L2构成的。
某个L2在执行原子操作的时候,可能有多个不同地址上的原子操作都是该L2执行的,此时将会无法同时执行,只能强制串行。

感谢深夜来访。
使用道具 举报 回复 支持 反对
发表于 2013-12-3 21:30:11
玫瑰幻想 发表于 2013-12-3 21:06
抱歉我不能给出此非官方资料的具体地址,

我简要的说一下吧(请注意,仅供参考):

感谢您的回复,对我很重要。能否告知这里的一组L2是不是指同一个cache set?还是更大颗粒?
谢谢。
使用道具 举报 回复 支持 反对
发表于 2013-12-3 21:31:41
wzk6_3_8 发表于 2013-12-3 21:30
感谢您的回复,对我很重要。能否告知这里的一组L2是不是指同一个cache set?还是更大颗粒?
谢谢。 ...

无任何资料可用的。

我建议您自己测试下。

以及,可能不同的卡之间的布置也不同。

(暗暗的说一句,您可以参考AMD的资料,里面很详细,N卡实际上非常类似)
(就当作洋为中用了)
使用道具 举报 回复 支持 反对
发表于 2013-12-4 11:53:53
玫瑰幻想 发表于 2013-12-3 21:31
无任何资料可用的。

我建议您自己测试下。

非常感谢。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册