Out of GPU memory

Out of GPU memory

dhanad
Enthusiast Enthusiast
2,232 Views
6 Replies
Message 1 of 7

Out of GPU memory

dhanad
Enthusiast
Enthusiast

I have a Titan XP 12GB. Available to Arnold for usage is roughly 10GB. I have in my scene 2x 4K 32-bit displacement map, 2x 4K texture map in a fairly simple scene. Log output shows when it tries to process the scene and shaders, the total memory needed jumps to 10GB. Arnold crashes with out of memory error.


My question is, is the only way to resolve this is by using 2x RTX nvlink compatible cards?

Ideally I would upgrade to 2x Titan RTX and bd done with it, but instead if I add a 2080ti to my existing Titan Xp will I still run into memory issue because Arnold is still seeing 11GB as a whole, and no 2 11GB cards, where the data is split between two cards for processing ?

I am told by my friend who uses Redshift, his 4x GPU even though not nvlinked have its scene data shared between the cards and never run into out of memory issues. Am I missing something ? Please help, I don’t know if I need to invest in cards with large memory n nvlink them or can I get away with multiple cards without nvlink. Using nvlink Also means I need to change my motherboard for better slot spacing.

0 Likes
2,233 Views
6 Replies
Replies (6)
Message 2 of 7

Christoph_Schaedl
Mentor
Mentor

Think NVLink does only work with identical cards.

----------------------------------------------------------------
https://linktr.ee/cg_oglu
0 Likes
Message 3 of 7

dhanad
Enthusiast
Enthusiast

Hi, ya I know that, I would nvlink with identical cards. And if I don’t nvlink I want to know if Arnold can still use both cards memory individually to load the scene regardless they are identical or not. I am asking because I am running out of memory with a 12GB card, and if I add another 12GB card and not nvlink it can Arnold still split the load between the cards. Right now Arnold fails to load because the scene data is more than available memory.

0 Likes
Message 4 of 7

thiago.ize
Autodesk
Autodesk

10GB sounds like it should be more than enough for what you describe. Maybe try rendering that on the CPU with "info" level log verbosity and then see how much memory that is using on the CPU. Feel free to post the log here. Maybe you'll find that there's a huge amount of subdivision or some other unexpected thing using up all your memory?

If that doesn't help, try disabling textures and see if now it works. That should help you identify if it is the textures that are putting you over the limit.

As for your question, only through nvlink can you currently share certain types of data across two GPUs. Also, you can't currently render with a combination of rtx and non-rtx cards (arnold would only use one of them).

0 Likes
Message 5 of 7

dhanad
Enthusiast
Enthusiast

Hi Thiago,

I am happy to report back that I was able to bring down the memory consumption from 9GB on GPU to 2GB only. I am attaching the partial content of log from the render test.

Dhanad_Maya2020_TitanXP_SceneData.txt

0 Likes
Message 6 of 7

dhanad
Enthusiast
Enthusiast

These are the optimization I did

1)lowered subds on distant objects to 1 iteration instead of 2

2)lowered displacement subds to 1 from 4. I think 2/3 is okay.

3)combined geometries eg. before a group had few hundred shapes, i combined them to a single shape.

4) deleted unused materials. Now I need to purge unused nodes.

5) In Hypergraph Connections, almost all the meshes that were imported in from reference, somehow had second shape node attached to all its actual shape node.So I ended up deleting these hidden/duplicate shape nodes.

0 Likes
Message 7 of 7

Stephen.Blair
Community Manager
Community Manager

@

If the cards are not linked, then the scene is loaded into memory on each card. So the scene has to fit in 12GB if you have two 12 GB cards.



// Stephen Blair
// Arnold Renderer Support
0 Likes