GPU vs CPU Rendering 2.91 - System Memory Usage Differences

Hey everyone,

I’ve got an issue with a scene (that I’ve seen before) that is really stumping me.

The scene is quite complex, but when I render on CPU only, my system memory shows about 30GB usage, render goes fine. When I switch to the GPUs (2x Radeon VII, trying both with HBCC enabled and disabled), my system usage skyrockets to high 50s, usually around 59GB, and then the render simply doesn’t move forward after a couple tiles (256 preset in Auto Tile Size for GPU, 32 for CPU).

Could someone shed some light on this subject and why it seems that the memory usage nearly doubles while rending from the GPUs?

Here’s a still of my system in Task Manager while rendering on GPU as well as a still of the scene itself (rendered from the CPU of course):


And here’s memory usage while only rendering with CPU:

1 Like

unfortunately can’t answer the tech question, but wanted to tell you the scene looks good!

1 Like

Haha thanks, Niklas! And no worries.

Can you render using CPU+GPUs ?

I can, but if I select GPU Compute in Cycles settings, I still get the big memory usage disparity, and render slows down dramatically.

Oddly, I’ve rendered many other complex scenes in the past on the two Radeon VIIs, but that was on 2.79 and various versions of 2.8. Should have mentioned that this is happening on 2.91.

Can you share the scene? I could try to render it using 2 NVIDIA cards on Blender 2.92… At least we could see if it comes from AMD gpus (lately I have read quite often that AMD drivers are causing issues across 3D softwares)

1 Like

I’ll see if I can pack it and send it over. Going to be a pretty big file.

I re-installed AMD’s Q4 enterprise driver and can now properly visualize volumes on GPU in 2.91 in rendered view, but I still get system crash about 90% into a render using both GPUs and CPU w auto tile size and Po2 set to 32. Memory usage still basically maxing my system memory. But system memory is totally fine while only using CPU. :man_shrugging:t2:

:+1:t3: Waiting for the file

Quick question: when I pack it all into a .blend (as opposed to making a .zip of everything), will Blender create copies of assets and textures, or will it move those textures on my drives? Want to make sure I don’t disrupt my drive organization.

Blender won’t move your files

Great. Uploading .blend now, will be available shortly. 2.4GB. Obviously, I need to work on optimizing my scenes a bit better. I used a lot of Graswald particle systems without Children. Still experimenting and learning how to utilize particle systems better in my scenes. Have to work on my topology as well.

https://drive.google.com/file/d/1DrVhNI14rvi9uXDWMfZC4TMcr1795Ktp/view?usp=sharing

Ok, I will check your scene. Meanwhile look at that https://devtalk.blender.org/t/cpu-100-when-cuda-gpu-only-rendering/13449/8

Also, the BLENDER manual states: Typically, the GPU can only use the amount of memory that is on the GPU (see below for more information). This is usually much smaller than the amount of system memory the CPU can access. With CUDA and OptiX devices, if the GPU memory is full Blender will automatically try to use system memory.

My guess is that the GPUs are crashing when trying to use system memory when running out of VRAM. And from what you say, it might very surrely be the amount of particules. But I will take a look at materials and other aspects of your scene.

I am rendering a 2GB scene animation these days, also with many particules, renders crashes here and then, but nothing bad. I had to lower the tile size at 400, at 420 it crashes to often, at 400 it crashes once a day only, obviously from out of VRAM on one of my GPUs. Tile size like you already know does make quite a difference in the behaviour of the rendering. Edit: ah and also, volumetrics…

hey btw how much samples you use for your jewerlley renders, and what additional settings you tweak in cycles to get a good render?..i wanna make a Casio watch is of those kinda shiny expensive ones, which is not a jewellery, but materials are of those polished chrome metals, but as well i want to practice that later (but not so way technical as you do lol)…btw do you have suggestions on how to make procedural chrome steel? xd no te lo pongo en epaoñol por si a alguien mas le interesa xd

It’s odd…I don’t normally have trouble rendering large projects on GPU and utilizing system memory in addition to vram. I thought that’s what AMD’s HBCC was good for in this case.

UPDATE:

After playing around with HBCC (which SHOULD give the GPUs full access to the system memory), I’ve noted that volumetrics render normally in the viewport on GPU with HBCC disabled, but when I enable it, the volume comes out as a messy scattering of R, G, and B pixels.

Someone apparently ran in similar issues and posted a bug report. Its on hold because he did not send requested systemi formation. Have a look https://developer.blender.org/T63378 Maybe you can post your problem there. Tomorrow I will have time to check how NIVIDIA GPUs behave with your scene. It looks like a RAM VRAM System memory allocation problem, and apparently BLENDER 2.9 does that differently than earlier versions

hey you forgot to answer me :sweat_smile:

That’s about what I figured, Joyasrohrbach. I might roll all the way back to 2.8 to see if the problem goes away, and then I’ll collect some data and report it to blender.

1 Like

Yeah but, I mean, come on… 15054 objects? for a 16GB VRAM gpu? particules plus volumetrics? Now that I have checked your scene, I would not call that a bug… I think you did mention optimizing, but man, there is much to optimize!