Page 1 of 1

GPU Memory Full – with just one JPEG

PostPosted: Thu Mar 04, 2021 5:46 pm
by Dormouse
What is the size limit for importing single JPEG files? I have read it is max 16k pixels width or height. I am having problems with much smaller images than that. I can import a 6k x 3k JPEG and play around with it in Fusion using a 3D Sphere and animation for example. But if I try 8k x 4k JPEG or larger I immediately get GP memory full in Fusion – even with nothing else on the timeline.

Looking in the log it appears to be requesting 763MB of memory but the 4GB GPU only has 320MB available. Then it requests 200Mb and there’s only 63MB available – then it gives up! What could be taking all that memory? There are no other apps running. CUDA seems to be supported OK by the GPU, and I tried using Open CL instead with same result.

I can play the JPEG as a 5 second still on the edit timeline, but directly I go into Fusion I get GPU memory full. I really want to use the higher resolution JPEGs for panning and zooming in 3D. Any suggestions? Thanks.

The PC config is: Dell XPS 8900 i7-6700 with 32GB RAM, Windows 10; NVIDIA Geforce GTX 745 4GB VRAM, latest driver 461.72.

Resolve Free version 17.0.0.0039; 1920x1080 30fps timeline.

Re: GPU Memory Full – with just one JPEG

PostPosted: Fri Mar 05, 2021 8:37 am
by smunaut
All images in fusion end up as RGBA with 32bit float components. That's 16 bytes per pixel of data.
So a single image is 8192 * 4096 * 16 = 512MBytes to store in VRAM.

So when dealing with those, memory goes up _VERY_ quickly.

On some nodes you can actually set the "depth" that's used for processing, but looks like the "MediaIn" is always 32b float. The "Loader" allows you to use 8 bit which for loading a jpeg would be fine.

Re: GPU Memory Full – with just one JPEG

PostPosted: Fri Mar 05, 2021 12:04 pm
by Dormouse
Thank you Sylvain, that worked perfectly! I successfully loaded a 20k x 10k equirectangular panorama JPEG onto a 3D sphere and panned around, just as I wanted. Hopefully I can now work on the rest of the sequence I am aiming at.

As a matter of interest, is the data calculation you gave for an image actually for each frame? So for a 5 second still at 30fps, does it try to store 150 x 512MBytes? If it is only the one copy at 512MB, I don't understand what filled the rest of the 4GB VRAM before I even started adding any nodes.

btw I did try creating a proxy at 1/8th size with no effect. Does that mean that Fusion ignores Proxies?

Thanks again.

Re: GPU Memory Full – with just one JPEG

PostPosted: Fri Mar 05, 2021 4:16 pm
by smunaut
No, it's not per frame. But more like "per intermediate steps that fusion needs" ... problem is you have no idea how many step a node has in its internal processing. Also, VRAM is used for a lot of other stuff, it's not like fusion get 100% of it and then even inside fusion, some is used for other things.

And indeed, AFAIK Fusion doesn't care about proxies.

Re: GPU Memory Full – with just one JPEG

PostPosted: Fri Mar 05, 2021 4:34 pm
by waltervolpatto
BTW, your GPU is very underpowered...

[ GTX 745 4GB ]