Thanks once again for your insightful reply.
I have the understanding that AMD's Infinity Fabric is not dumb. Part of it's patent is that it serves duplicity as a control fabric as well, and is addressable, too.
I may have failed to clearly indicate that I was considering the fabric's functionality in the context of graphics context execution. In this case, its function is more of a dumb pipe, since it operates at a low-level and shouldn't need to care about the specifics of what the graphics pipeline's functions or data patterns mean. AMD indicated that the fabric was meant to be a more generic and flexible interconnect, which means it doesn't alter how it operates to match the specifics of what it is joining.
The Infinity Fabric has been described as a superset of Hypertransport, and that protocol has a relatively compact set of operations related to transferring data, carrying requests, and carrying responses. Those operations and a few guarantees on ordering and timing are the job of the fabric.
It's the job of the clients on the fabric to have the in-built management or functionality to use those basic operations to construct the more complex communication and coherence methods. If those clients don't have more complex management and don't ask anything of the fabric, the fabric will function well enough doing the same simple methods that were done prior to it being added.
We don't ever get to see the real Ryzen Master in AMD labs. But Infinity Fabric controls all aspects of the CPU, why can't it control mirroring L2 cache across multiple GPUs? It looks like even the two Shader Engines sit on IF, along with 64-bit memory controllers, Geometry Processor, display engine, etc all sit on the fabric..?
I guess I'm not sure what aspects of the CPU you list as being controlled by the fabric. For Zen, the fabric stops at the L3/fabric interface, and for Vega and Navi the fabric stops at the output of the L2.
Slide 17 of the following shows how the infinity fabric connects various fabric stops, which for the CPU is called the CCM. This translates whatever is happening on the other side of the stop into packets and transactions the fabric can understand.
https://www.slideshare.net/AMD/amd-epyc-microprocessor-architecture
The diagram at the following shows the fabric is outside the GPU L2.
https://www.anandtech.com/Gallery/Album/7177#25
The reason I am asking, is that it seems that Infinity Fabric can be used to unify shader memory in some fashion. And if/how it correlates to AMD's new cache system with RDNA, making a dual-gpu a thing again(?).
ed: Also, could altered frame rendering work at lightening speeds, if they don't have unified memory?
AMD's new GPU cache hierarchy is internal to the L2, which makes it unclear what the fabric needs to do differently.
Alternate frame rendering can work with or without unified memory, on games that are written to avoid techniques that reuse data from a prior frame.
What has made it undesirable is that various kinds of temporal or asynchronous techniques do wind up trying to transfer data between GPUs if they are alternating frames, in addition to complex driver handling, synchronization overhead, pacing issues, and latency.
Unified memory can reduce the overhead of transfering data between the memory pools. There's potentially lighter synchronization needed to manage the transfers, and unified memory usually comes with links with sufficient bandwidth to move the data.
The GPUs still have heavy-weight synchronization, pacing challenges, and driver-based handling of these self-tuning IO devices. The rest of the architectures haven't changed.
A command processor in one GPU doesn't have functionality to work with its counterpart in the other GPU. The L2 of one GPU doesn't respond to requests from the other GPU, and at the same time is not designed to request anything from another GPU. The fabric doesn't change that the clients on it have mostly the same intelligence about execution and coherence as before. Some things are faster with the fabric, but the GPUs don't act any differently--and how they act is generally broken in this use case.