Now that the embargo has been lifted on the Radeon 7970s, I'm curious about some of the features in GCN.
Firstly, GCN is supposed to have a unified address space with the host CPU, 64-bit addressing, and virtual memory. Are these present in the 7970?
With a unified address space, I no longer see a reason for the current 128MB per allocation limit on buffers. This will be glorious if we no longer have to pack larger data sets into textures, which is annoying to debug and write implementation independent code.
Futhermore, it would seem that pointers can now persist across kernels calls, removing the need for treating everything as an index.
Secondly, GCN is supposed to have a fully coherent L1/L2 cache heirarchy. Is this present? No longer having to use textures to get caching (save declaring a buffer as const restrict) would be pretty nice. Also, this would seem to significantly reduce the impact of non-coalesced reads and writes (supposing you can at least efficiently use cache).
Finally, I hear that virtual memory won't appear until 2014 in discreet GPUs. Is this a hardware or driver issue? E.g. does the 7970 support this and will in 2014 or do we have to wait 2 hardware generations?