What memory model does GPU architectures adopt?
@VP7 It was mentioned in last class that NVIDIA GPUs don't implement cache coherency (but it was also mentioned that the atomic operations bypass the L1 cache and are performed in L2, and having only one L2 cache + L1 caches having write through by default resolve some of the coherence problems). If I have to guess, I'd guess GPUs also don't implement cache consistency.
@byeongcp. What do you mean by cache consistency?
@kayvonf I meant memory consistency... I actually have no idea if GPUs implement memory consistency or not. The reason why I don't think GPUs implement memory consistency is because it seems like to me that memory consistency (without relaxation) is a stronger invariant than cache coherence (but then again I don't know if this is true either).
@byeongcp: I remember kayvon's explanation on the points which you stated above. But my doubt is wrt. to memory consistency not cache coherence.
Because, different GPUGPUs/ MTTOP architectures tend to adopt different philosophies (though I have no idea about the criteria for such design decisions). Eg: MIC and ARM (MALI) GPUs have cache coherent shared memory where as AMD and NVDIA dont (?). But what about their memory consistency?
And your second comment leads to an even better question. Does memory consistency imply cache coherence?
Here is a link to an ISCA-2013 paper which does a quick comparison of consistencies of Massively Threaded Throughput Oriented Processors(MTTOP).