I've been working on a program and need to guarantee that reads to global memory are actually happening. I can use a mem_fence to guarantee writes are committed to physical memory (according to the IL that is generated).
It doesn't appear that volatile is giving me the desired effect as my code is still getting deadlocked.
There seems to be an IL read function field for UAV_RAW_LOAD (_cached), that "Specifies whether load is forced through the cache, which must be of type UAV_READ." What does "forced through" mean in this context?