So the data is going to arrive in GPU memory and the PC can't do anything with it until the CPU processes it. Right.
DirectStorages whole point is to get the data directly to GPU bypassing CPUWhy do you assume that Direct Storage itself mandates that data has to flow directly to the GPU bypassing the CPU? That's what Nvidia are claiming RTX-IO does, Microsoft haven't claimed the same for Direct Storage.
DirectStorages whole point is to get the data directly to GPU bypassing CPU
Just reinforcing RTX-branding is good enough reason really.The only reason I think Nvidia is calling it RTX IO, or whatever, is they'll probably make vulkan extensions to support it and they won't be able to refer to it as DirectStorage there.
Just reinforcing RTX-branding is good enough reason really.
DirectStorages whole point is to get the data directly to GPU bypassing CPU
Microsoft said:Previous gen games had an asset streaming budget on the order of 50MB/s which even at smaller 64k block sizes (ie. one texture tile) amounts to only hundreds of IO requests per second. With multi-gigabyte a second capable NVMe drives, to take advantage of the full bandwidth, this quickly explodes to tens of thousands of IO requests a second. Taking the Series X’s 2.4GB/s capable drive and the same 64k block sizes as an example, that amounts to >35,000 IO requests per second to saturate it.
Existing APIs require the application to manage and handle each of these requests one at a time first by submitting the request, waiting for it to complete, and then handling its completion. The overhead of each request is not very large and wasn’t a choke point for older games running on slower hard drives, but multiplied tens of thousands of times per second, IO overhead can quickly become too expensive preventing games from being able to take advantage of the increased NVMe drive bandwidths.
On top of that, many of these assets are compressed. In order to be used by the CPU or GPU, they must first be decompressed. A game can pull as much data off the disk as it wants, but you still need an efficient way to decompress and get it to the GPU for rendering. By using DirectStorage, your games are able to leverage the best current and upcoming decompression technologies.
In a world where a game knows it needs to load and decompress thousands of blocks for the next frame, the one-at-a-time model results in loss of efficiency at various points in the data block’s journey. The DirectStorage API is architected in a way that takes all this into account and maximizes performance throughout the entire pipeline from NVMe drive all the way to the GPU.
It does this in several ways: by reducing per-request NVMe overhead, enabling batched many-at-a-time parallel IO requests which can be efficiently fed to the GPU, and giving games finer grain control over when they get notified of IO request completion instead of having to react to every tiny IO completion.
In this way, developers are given an extremely efficient way to submit/handle many orders of magnitude more IO requests than ever before ultimately minimizing the time you wait to get in game, and bringing you larger, more detailed virtual worlds that load in as fast as your game character can move through it."
No, it's whole point (at least insofar as the currently available information from Microsoft suggest) it to make the process of transferring data from SSD to the GPU more efficient by reducing the amount of CPU overhead required. That's completely different to using P2P DMA to transfer data directly from SSD to GPU bypassing the CPU completely. That may indeed be the way it works, but unless you can show me a statement from Microsoft explicitly stating that, then you're just making an assumption. Here's what Microsoft have to say about the way Direct Storage works:
No-where do they mention decompression being moved off the CPU or the flow of the data changing from SSD->CPU->GPU to SSD->GPU->CPU. Again, I'm not saying that's definitely not the case. Merely that at the moment we have no evidence of it so it would be better if we stopped stating assumptions as if they're facts.
The 6900XT kills the 3090 in value if you're not concerned about ray tracing and are primarily gaming. If you're buying it for one of those tools like Blender or Octane, the extra $500 for the 3090 may have value if the ray tracing performance is significantly better, which I'm guessing it probably is.
No, it's whole point (at least insofar as the currently available information from Microsoft suggest) it to make the process of transferring data from SSD to the GPU more efficient by reducing the amount of CPU overhead required. That's completely different to using P2P DMA to transfer data directly from SSD to GPU bypassing the CPU completely. That may indeed be the way it works, but unless you can show me a statement from Microsoft explicitly stating that, then you're just making an assumption. Here's what Microsoft have to say about the way Direct Storage works:
No-where do they mention decompression being moved off the CPU or the flow of the data changing from SSD->CPU->GPU to SSD->GPU->CPU. Again, I'm not saying that's definitely not the case. Merely that at the moment we have no evidence of it so it would be better if we stopped stating assumptions as if they're facts.
Direct Storage is an API. RTX IO works with Direct Storage and not in lieu of it. So whatever RTX IO does, it does so through functionality provided to it by Direct Storage.
"P2P DMA to transfer data directly from SSD to GPU bypassing the CPU completely"...this doesn't happen without DS as Windows doesn't readily cede control of its memory space to a third party device.