Page MenuHome

OpenCL/GPU Memory Managment - Weird Scene, "Too complex to fit in gpu memory". Cycles, AMD GPU.
Closed, ArchivedPublic

Description

System Information
CPU FX9590
Chipset 990FX
Ram 32GB ddr3 1866
GPU RX Vega 64
OS Windows10

Blender Version -2.79-

Short description of error

The Bistro Lumbeyard demo file which can be downloaded in fbx format with maps from:

https://developer.nvidia.com/orca/amazon-lumberyard-bistro

won´t fit in vram (gpu RX Vega 64) to be rendered with Cycles.

I have tried enabling HBCC (Radeon 17.9.3 driver) but it doesn´t seem to work (yet?). -OS not showing changes on Display Adapter Properties, dedicated/system/shared memory-

According to Ronen Bekerman´s blog (https://www.ronenbekerman.com/orca-amazon-lumberyard-bistro/) the file takes around 5GB of vram, probably on an Nvidia card.

Exact steps for others to reproduce the error
Set renderer to Cycles.
Load the fbx file.
Set viewport mode to rendered.

Event Timeline

Leo (.Pixel) renamed this task from OpenCL/GPU Memory Managment - Weird Scene, "Too complex to fit in gpu memory". AMD GPU to OpenCL/GPU Memory Managment - Weird Scene, "Too complex to fit in gpu memory". Cycles, AMD GPU..Oct 17 2017, 6:09 PM
Leo (.Pixel) updated the task description. (Show Details)Oct 17 2017, 6:13 PM
Leo (.Pixel) updated the task description. (Show Details)

If you go into the scene settings -> enable simplify and set the texture limits (both viewport and render) to 128, does it work?

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Unknown Status.Oct 17 2017, 11:31 PM
Brecht Van Lommel (brecht) claimed this task.

How much memory a scene takes in another renderer can't be used to predict how much memory it will take in Cycles. It can indicate areas in Cycles that can be improved, and there's certainly optimizations we can still do to reduce geometry and image memory usage. But I don't see anything in this report that qualifies as a bug, unless there is something where a quite simple scene takes up a lot more memory than expected.

Using the simplify texture size does work until 2k with around 6GB of Vram usage according to GPU-Z.

Going to 4k is not working. I have tried after enabling 16GB for the HBCC and a system reboot.

I´m not sure of how much memory it should use with full textures but I know that scenes using more than 8GB can be rendered on a 390x (8GB Hawaii/Grenada), I´ve never tried a scene as big as this one though.

It was going hard for me to find a scene to fully test the HBCC feature with Cycles. I thought that maybe it could be of your interest to keep it at hand.

Assuming all of the 6gb is on textures and all textures are natively 4k. switching from 2k to 4k, will mean that it will chew up 24gb. Outside of the 16gb you have enabled.

Wow! thanks for replying, good to know that. I´ll do some tests with texture resizing later then and I´ll keep you posted if it´s of interest.

Leo (.Pixel) added a comment.EditedOct 18 2017, 7:45 PM

I have resized the 4k textures to 3k and the entire scene fit that way.

Now I´m having problems when mixing them tryng to get something like 4 or 8GB of shared system memory usage.

At the moment I just can get around 1GB and trying to go further (replacing another 3K by a 4K texture) I get the ´complex to fit in memory´ error.

I´ll try to give you a cleanest report when I can.

@Leo (.Pixel) latest buildbot have the fix for this error. I just tried and it renders without any tricks/simplification

Thanks Mathieu, yes it´s rendering with 2.79 c64e515.

Quick tests are showing full vram plus a system memory portion usage.

Can´t see the Dynamic Memory Usage in GPU-Z but I can see a clear system ram usage increase when rendering in the Task Manager monitor.

It also seemed to me that sample count was going faster with HBCC enabled.

I´ll try to make a more accurate assertion later.

@Leo (.Pixel) you are welcome. Please report your times with and without HBCC. Some websites report 15% speedup even when it all fits in the VRAM. Would be interesting to have your results to compare.