Optimizing DX12 Resource Uploads to the GPU Using CPU-Visible VRAM

Originally published at: https://developer.nvidia.com/blog/optimizing-dx12-resource-uploads-to-the-gpu-using-cpu-visible-vram/

How to optimize DX12 resource uploads from the CPU to the GPU over the PCIe bus is an old problem with many possible solutions, each with their pros and cons. In this post, I show how moving cherry-picked DX12 UPLOAD heaps to CPU-Visible VRAM (CVV) using NVAPI can be a simple solution to speed up…

Sorry to bring up the old post, but I can’t get this to work properly. When I use uploads and downloads simultaneously, I get bandwidth halved. Profiler shows that transfers get interleaved for some strange reason. What can I be doing wrong ?