Hi there, I've been testing new GPU renderer for last 2 hours and have lots of questions.
But first let's start with short report.:
Time to first pixel takes forever, even with simple scene with one shader and few objects. ~1 min
For some reason I never managed to get clean render. Even with AA 10 - AS AA 30
Couldn't find "Bucket rendering" mode, I guess its not there yet. Because of that I can not tell if GPU finished rendering or not, it never ends, even though noise is still on the same level.
Here are some stats from task manager (never went over 48% of the GPU usage):
Getting lots of error like:
When I try to start the renderer again. Have to reset Maya to get it working again for few minutes. I will post more once I get some. Forgot to save previous ones. "// Error: [gpu] an error happened during GPU rendering : Unknown error (Details: Function "_rtCommandListExecute" caught C++ standard exception: after reduction step 2: invalid argument)"
I am using gaussian filter all the time: // Warning: [gpu] closest_filter ("_renderViewDefault@closest_filter") not supported on the GPU // <br>
I have SLI enabled on all selected GPUs, 2x1070 // Warning: NVLink is not enabled on all selected GPUs, ray and hit stats are disabled //
Tried to render a head with random walk SSS, high res textures and hair and couldn't due to insufficient memory. Turned off the hair, changed max textures size to 2k and still had the same problem. Zero issues on CPU though.
Cheers
Xaia
The time to first pixel will be slow the first time you render, because Optix has to compile a bunch of code. But that is cached, so the next time there will be no lag, unless you add new stuff.
You can use Arnold > Pre-populate GPU Cache to fill up the cache so that you don't have to wait when you render. But that pre-populate task will run for up to 15 minutes.
You can ignore the *[gpu] closest_filter* warnings, we'll use a box filter or last sample used in its place
Hi there, take a look at the documentation released with this verstion of arnold.
Couple of points:
"Time to first pixel takes forever, even with simple scene with one shader and few objects. ~1 min"
As stated in the docs, and as most gpus work, the software needs to compile the shaders for your unique gpu, every time you use something new it will need to compile it.
If you want to pre cache it all, you can go to arnold > utilities > Pre-populate gpu cache. It will take a while.
Tried to render a head with random walk SSS, high res textures and hair and couldn't due to insufficient memory.
Arnold as far as I can tell by the docs is not yet out of core, like redshift is, which means it cant access data in the ram or the disk, so it needs to load it all to the GPU memory, if your scene and textures are larger then your gpu memory it wont render.
Right,
So you are telling me that 40 2k tx textures are not fitting in a 8gb memory? Even when I select all tx files I get 4,3gb with full resolution. But I can live with that I guess.
How about cleaning noise and GPU usage? I can't believe that 2x1070 are slower than 4 core i7 6700k.
Btw, you might want to fix link to the gpu docs in a Maya release notes, its not working.
Thanks for replies guys! Appreciate that 🙂
Cheers
Xaia
The log file (make sure to enable enough verbosity) has plenty of useful information. It will tell you why it's slow to startup and where the memory usage is going. The slow startup looks to have been answered by others already, so I'll focus on memory.
Without knowing the details of your scene and log output, I can't say what's going on, but in general the GPU arnold does consume quite a bit more memory than the CPU arnold. This is a known issue and one that we are actively working on improving. Also, there's a big "unaccounted" block of gpu memory that we report which we plan on exposing in a future version so that it's easier to see why you are running out of memory.
As for low GPU usage, can you try to repeat your render but with the display window closed (render to disk only)? I'm hoping that will be faster since at the moment there is some overhead in updating the display window.
As for noise, you'll need a lot more AA samples. Our recommendation is to keep the regular samples low, perhaps 4 or so, and enable adaptive sampling and crank up the AA_samples_max to 20 or 50 or maybe even 100 if it's very challenging. If that still doesn't help, you might need to lower the AA_adaptive_threshold, possibly to .01. Of course, after doing this you'll want to repeat the same test on the CPU since you might find this speeds the CPU up as well...
thats, not how it works, the texture get decompressed and all the other stuff like geometry also needs to fit in the ram. But thiago is more capable of explaining everything than me, I am just an user
The actual missing buckets or even a status progress makes it hard to estimate the time and adjust the samples.
Can you look at the log file? It should explain the issue. Feel free to post it here if you want us to examine it.
I have the same exact problem....it seem the Gpu is sitting doing nothing almost, with sawtooth spikes in the task manager. It about 60 to 70 percent when it's doing the regular AA before going into adaptative sampling an them its sitting there for an our before completing the rendering with a lot of noise. I did try redshit to see the how it uses the Gpu and find that it stays at 96 to 98 percents most of the time and we talk about 2 minutes render vs 1 hour with lots of noise. My scene is an indoor setup with portals, transmissions amterials and some SSS.
I found out something...the bigger the render the bigger the spikes in the task manager...small rendering a region will have a near 100 percent Gpu usage.....while rendering a 3k image will have spikes from 0 percent usage to 100...weird....
I found out something...the bigger the render the bigger the spikes in the task manager...small rendering a region will have a near 100 percent Gpu usage.....while rendering a 3k image will have spikes from 0 percent usage to 100...weird....
It's possible the GPU drop is because the GPU stops running so that the current image can be uploaded to the screen? Can you try rendering a large image but in batch (no display window)? That should perform better.
I did some additional testing today.
My scene contains a high poly model with creases and 7 UDIMs with 35 textures (130mb).
Scene without textures on the model and only with 10 AA samples rendered in 42 seconds. Scene with all the textures takes over a 1 minute and 18seconds.
Somehow plugged in Normal map changed rendering time from 48 to 1:18.
The main problem I encountered is that even when I stop rendering to make some changes in the scene or to switch to Frame Selection mode to restart rendering on specific part of the image, my GPU Memory is not released and then when I try to rerender, I get an error because of that. Render won't continue.
LOG: arnold1.zip
Sometimes I get free 800mb, sometimes 300mb. (even without the textures), and couldn't find a way to flush the memory. Flush -> All its not working. Reloading scene is not working, switching to CPU is not working at all.
If you have any idea how to release the gpu memory, please let me know 🙂
Cheers
Xaia
Same here, getting the error :
NVLink is not enabled on all selected GPUs, ray and hit stats are disabled
In reality, i have SLI enabled in the nvidia control panel, got 2 1080, have the latest creators driver, 419.67,
I have a scene which doesn't render at all, it's just a buch of low poly boxes.
Getting the error
[gpu] Arnold stack overflow exception encountered during render (164 threads threw an exception)
You are right Stephen, switched to another tool and this time shows almost 100% on both cards. The main problem is that even everything is working more or less, my cards are still slower than my CPU.
I am using 1070 SLI vs i7 6700K
My friend has one 2070 and the scene is rendering quite fast for him. Any idea what might be wrong?
Arnold (over 1 min) vs Redshfit (10 seconds). I have done pre-populate GPU cache.
@Dawid Cencora Could you post an Arnold log for a render of your scene? And it would be interesting to compare against a log from your friend's machine.
Thanks
Did what you asked. Still need to catch up with my friend and ask him for logs.
I noticed that render times are super inconsistent. First render after I start maya takes forever (arnold.1.log). Then I decided to turn off the adaptive sampling and change AA to 10 within the same session and got 65% in over 5mins. (Progress bar in IPR session showed 99%)
After I deleted all caches, and started render again with the same settings and got 100% in 1:31 (arnold.2.log) and quite noiseless render.
1:31 (AA 10, AS AA off)
Third try with 5 AA and AS AA 10 (AT 0.015) took 5 min 20s and looks nearly the same (vs CPU same settings: 3min 32s) as previous test.