Hi,
The short answer is 'yes, you can observe the data in caches in gem5-gpu'. This includes CUDA global, local, and const memory, but not shared, which is still handled by GPGPU-Sim code.
The longer answer is that it is a little complicated to access this memory, and you can only observe the coherent version of the data. Currently, gem5-gpu Ruby coherence protocols do store actual cached data in their caches (CacheMemory objects), but we have not validated that that data is correct for all coherence protocols. Instead, Ruby allows cache accesses to pull correct data from a faked backing store which is coherent (see RubySystem::m_phys_mem). To get the data that should be in a cache, you first need to check that a cache line should be valid in a cache, and you can do this by checking for it in the respective protocol file (e.g. gem5-gpu/src/mem/protocol/VI_hammer-GPUL1cache.sm). If the line is valid, you can grab the coherent version of the data from Ruby's backing store using a functional access by doing something like:
g_system_ptr->getPhysMem()->functionalAccess(pkt);
Hopefully this is enough to get you started, but feel free to ping us for further clarification if necessary.
Joel