At the end of March, Microsoft announced a new preview version (opens in new tab) of the Agility SDK (via Guru3D (opens in new tab)), as well as the Xbox Series X.
The Agility SDK is a new version of the GPU Upload Heaps SDK, which allows the CPU and graphics card to access video memory fixed to the GPU simultaneously.
But for now, GPU Upload Heaps allows both the CPU and graphics card to access the video memory pinned to the GPU simultaneously. This means that the PC no longer needs to copy large chunks of data from the CPU to the GPU or keep copies of data in both system memory and VRAM.
This results in better game performance in certain situations due to lower CPU and RAM utilization.
The GPU upload heap appears to be another step in a journey that began several years ago with the introduction of the resizable base address register (BAR) feature. While this allowed Windows to manage the graphics card memory pool, this new feature means that the PC's processor has direct access to the VRAM.
On the user side, this means that as long as resizable BARs are enabled on the system, nothing else is needed to access the new GPU upload heap feature. Realistically, though, this is a developer-level feature, intended to provide tools to get as much performance out of the system as possible, so it is unlikely that the feature will be turned off or on in any way that will be visible to gamers.
Also, since it is a new feature, it is not likely to be included in games for some time yet. Nevertheless, it would be very easy to implement for developers familiar with the Xbox Velocity architecture, as it is basically similar to the way Microsoft's Xbox Series X (open in new tab)/S consoles interact with the shared VRAM that makes up the entire system.
This is what makes GPU Upload Heaps so interesting to me. Microsoft consoles have switched to using graphics memory entirely in this generation, now creating a situation on PCs where, in theory, Windows can operate using only the traditional pool of video memory on the graphics card.
The old Xbox One ostensibly used conventional RAM because it was conceived as a multitasking machine, not just a gaming console. Therefore, memory latency was more important than raw bandwidth in the GDDR5-based setup favored by the PlayStation 4, which only had a small amount of DDR3 for background tasks.
However, with modern VRAM, latency is no longer an issue, which is why Series X/S adopted GDDR6 along with PlayStation. This means that it is now possible to create a dedicated PC gaming machine using only graphics memory shared by both the CPU and GPU. [I'm thinking of either a laptop or portable device that uses the same AMD APU as the PlayStation 5 (opens in new tab) or Xbox Series X, and where a closed system makes sense, delivering massive amounts of gaming performance from a compact device. [I enjoy being able to upgrade my machine and as far as I know there are no swappable GDDR6 modules. Also, as far as I know, there are no swappable GDDR6 modules. If this were a wholesale switch, the PC would be almost completely locked down, which does not fit my geeky PC sensibilities.
However, as a dedicated gaming machine, it is an interesting prospect. After all, we know that AMD can produce APUs with huge GPUs built in, and a gaming laptop built around that would be pretty cool. It's all a pipe dream right now, but now that Windows has direct access to video memory via the CPU and can be completely on-board, it's not so far off in the future.
Comments