AMD with its Radeon RX 6000 series introduces a feature called Smart Access Memory. The promise is that in specific use cases where the CPU needs to access a lot of the video memory, it can improve frame rates by up to 6%. Announced alongside the RX 6800 series, Smart Access Memory (SAM) is an AMD branding for the resizable BAR (Base Address Register) feature the PCI-SIG standardized years ago. AMD realized that this feature can be useful in improving gaming performance.
How it Works
Your processor can typically only access up to 256 MB of your graphics card's dedicated video memory at any given time. This arbitrary limit dates back to the 32-bit era when address-space was at a premium, and interestingly, carried on even into the 64-bit era. Around this time, newer APIs, such as DirectX 11, relied less on mirroring data between the system and video memory. Obviously, we want to be able to transfer data to all the GPU memory, so a windowing mechanism is used whereby your GPU holds 256 MB of its dedicated memory as a scratchpad any CPU-bound data can be juggled in and out of.
Another reason why nobody even saw this as a "problem" was because of the enormous amount of memory bandwidth at the disposal of GPUs (relative to system memory), which makes this jugglery "free." When it came to the Radeon RX 6800 series, which is up against RTX 30-series "Ampere" GPUs with wider memory buses and faster memory devices, the company finally bit the bullet and implemented the resizable BAR feature as Smart Access Memory. Since this is a PCI-SIG feature that can be added at the driver-level, NVIDIA announced that it intends to implement this feature as well, via a driver update.
Resizable BAR requires UEFI firmware support, and AMD has artificially segmented its support to just its Ryzen 5000 "Zen 3" processor + 500-series chipset combination, possibly as a means to promote the two. It's likely that NVIDIA's implementation is broader as it doesn't have a CPU + chipset platform of its own, and AMD will follow.
Once enabled, the CPU sees the entire 16 GB of video memory on the RX 6800 series as one addressable block. AMD calculates that this helps with certain game engines which leverage the CPU in their 3D rendering stages (think certain kinds of post-processing, etc.). One possible explanation as to why AMD restricted SAM to its 500-series chipset platform is PCI-Express Gen 4. PCI-Express 3.0 x16 bottlenecks next-gen GPUs by only a single-digit percentage, as shown in our RTX 3080 PCIe Scaling article; however, AMD figured all that untapped PCIe Gen 4 bandwidth could be used by SAM without affecting the GPU's performance during normal 3D rendering. But this doesn't explain why you need a Ryzen 5000 processor, and why a Ryzen 3000 "Matisse" won't do.
To enable SAM, you need a 500-series chipset motherboard with the latest UEFI firmware supplied by your motherboard vendor, a Ryzen 5000 processor, and a Radeon RX 6800 series graphics card. Simply enable the "Resizable BAR Support" toggle in the "Advanced" PCIe settings of your UEFI setup program. For these toggles to be available, CSM has to be disabled. This also means that if you've been booting from an MBR partition, using CSM, you'll have to reinstall Windows on a GPT partition. There's also a conversion mechanism between MBR and GPT, but I haven't tested that.
In this review, we're testing using a 500-series chipset motherboard and a Ryzen 9 5900X processor to tell you if Radeon Smart Access Memory is worth the hype and whether it helps the RX 6800 XT gain more against the RTX 3080.
Test Setup
Test System
Processor:
AMD Ryzen 9 5900X
Motherboard:
ASRock X570 Taichi AMD X570, BIOS v3.59
Memory:
2x 8 GB DDR4-3900 CL16 Infinity Fabric at 1900 MHz