Weird GPU usage on 2x GPU during IRAY render
So, I finally upgraded my PC gear and I shoved my 1080ti and RTX2070 into the same system. The config is as follows:
CPU: i7 8700
Mobo: B365 Chipset
GPU 1: Gigabyte 1080ti Blower (display GPU, connected via HDMI)
GPU 2: Inno3d RTX2070 (compute-only GPU)
RAM: 64GB @2666mhz
PSU: Seasonic Prime Platinum 1300W
The "problem" is as follows:
Despite the 1080ti being the display GPU, it draws less VRAM during render than the RTX2070, which is NOT connected into any display. So, here are my questions:
1) why does this happen? The RTX sometimes drops the whole render to CPU despite reporting 5.6 out of 8 GB used. Shouldn't it have ALL the VRAM available since it's not connected to any display?
2) can I choose which GPU's render the Iray preview mode, so I don't clutter the second, compute-only gpu with the preview and save the memory for render?
Any help appreciated,
DAZ version 4.12.0.86,
NVIDIA driver - latest Studio driver, installed today from nvidia's website.
Comments
1) Windows reserves some memory in case a display is connected. Reportedly the latest feature update for Windows 10, 2004, reduces the load.
Ahh, that might be it. But still, the second card uses ~200MB more VRAM than the primary, which seems really weird. Shouldn't the memory usage be the same, or does it have something to do with the cards communicating with each other? Or maybye the RTX cards need more memory to do the same thing?
The RTX features do use more VRAM.
I have the same GPU's as you and see roughly the same VRAM usage as you.
iRay seems to grab VRAM in several stages, each one progressively larger, so if there isn't enough available on a card at any step it drops out. If you open task manager during the initial prep of a render you can watch the graphs and see this.
Yes, that seems to be the issue... but:
I did some experimentation and I have some additional findings. I turned the post-denoiser ON during render.
Then I closed DAZ, reopened, and tried the same scene, with post-denoiser OFF. The results were:
1) Scene WITH post-denoiser
GTX 1080TI: 5.4GB vram usage
RTX2070: 5.6GB vram usage
2) Same scene, WITHOUT post-denoiser
GTX 1080TI: 5.4GB vram usage
RTX2070: 4.7GB vram usage.
So it seems like indeed the RTX consumes more VRAM, but why only with the denoiser?
Maybye this will be helpful to somebody :)
P.S : Turning Optix on/off does not affect vram usage in this case.
The denoiser itself takes up video memory.
Yes, but why only with the RTX cards? The pascal 1080ti doesn't seem to care if the denoiser is on or off (it's set to default 8th iteration, so it kicks in right after the render starts). Not really a problem, I'm just curious.
@mwasielewski1990 "maybye the RTX cards need more memory to do the same thing"
The RTX cards need more memory to do the extra things the RT cores and Tensor cores do.
Ok, so it must be it. Also, does IRAY use Tensor cores when using the AI denoiser? Is there a way to monitor Tensor usage?
If its really AI then it should. As far as I know there is no way to directly monitor tensor usage. I think you can run the Nvidia profile tool, nvprof, and get that data but its usage is fairly arcane, as in I have some scripts that run it but no list of precisely what commands do what. I have to rely on info from Nvidia on how to use it.