Rendering Issue with GPU to CPU in 4.9

So I'm sorta new here, tho I've noticed something, that doesn't quite seem right.
I have two GTX 1080SC, not in SLI. They are both ticked off, and the CPU is not.
I will have a simple 2 second animation, at 15fps, and be rendering at 2560x1440, very basic lighting, two figures, a floor and that is it. All fairly basic stuff, no super high resolution textures.
Will start the render as an Image series. The First frame loads like there is no tomorrow, 500 iteration in about 1-2mins. The second frame will then start, and it will do about 200 iterations, take 25mins. This will continue at the latter speed for the rest of the frames.
On top of this, when I check my GPUs they are barely being used during the later frames, like 236mhz tops... but my CPU is at 100%.
During the first frame, my GPUs are both at 1900mhz+ each, and my cpu is about 15% usage...
What is going on here? Between the two frames, there is very very little happening, just a slight rotation of an arm.
Can anyone help me?
This is what the History says for the two frames.
First Frame:
Rendering in NVIDIA Iray
Compiling Shaders - 0/1
Rendering frame 2
Rendering...
Iray VERBOSE - module:category(IRAY:RENDER): 1.9 IRAY rend progr: CUDA device 0 (GeForce GTX 1080): Processing scene...
Iray VERBOSE - module:category(IRAY:RENDER): 1.2 IRAY rend progr: CUDA device 1 (GeForce GTX 1080): Processing scene...
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Geometry memory consumption: 209.101 MiB (device 0), 0 B (host)
Iray VERBOSE - module:category(IRAY:RENDER): 1.7 IRAY rend stat : Geometry memory consumption: 209.101 MiB (device 1), 0 B (host)
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Texture memory consumption: 18.5916 GiB (device 0)
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Lights memory consumption: 196 B (device 0)
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Material measurement memory consumption: 0 B (GPU)
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Materials memory consumption: 556.207 KiB (GPU)
Iray VERBOSE - module:category(IRAY:RENDER): 1.7 IRAY rend stat : Texture memory consumption: 18.5916 GiB (device 1)
Iray VERBOSE - module:category(IRAY:RENDER): 1.7 IRAY rend stat : Lights memory consumption: 196 B (device 1)
Second Frame:
Iray VERBOSE - module:category(IRAY:RENDER): 1.9 IRAY rend progr: CUDA device 0 (GeForce GTX 1080): Processing scene...
Iray VERBOSE - module:category(IRAY:RENDER): 1.2 IRAY rend progr: CUDA device 1 (GeForce GTX 1080): Processing scene...
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Geometry memory consumption: 209.101 MiB (device 0), 0 B (host)
Iray VERBOSE - module:category(IRAY:RENDER): 1.7 IRAY rend stat : Geometry memory consumption: 209.101 MiB (device 1), 0 B (host)
Iray VERBOSE - module:category(IRAY:RENDER): 1.9 IRAY rend progr: CPU: Processing scene...
Iray VERBOSE - module:category(IRAY:RENDER): 1.3 IRAY rend stat : Native CPU code generated in 5.84e-007s
Iray Iteration: 1
Iray :Render target canvas was written.
Thank you.
Comments
Hey, so I dunno what happened. But I updated my video driver with a clean install of it. And now I'm not getting such an absordly high Texture memory consumption... Though I still don't entirely understand how the program would read there being more texture size then there actually is, due to a video card driver.
So atm it seems to be working. I'll keep ya guys posted if it happens again.
EDIT: My issues has reappeared, read my post below for more info
That update might be "what happened" — how old was your previous graphics card driver version? The last few DAZ|Studio versions use an Iray version that requires a recent NVidia driver version. If your old driver was too old, it might have caused Weird Stuff™ to happen.
My old driver was relatively new, about maybe 4 version old? which like maybe a few months?
However my issue has reappeared. I finally went go render a test scene of 250 frames at 25 samples(iterations). The Scene is only 651mbs of texture memory. (its a different scene from before) The first frame loads the 25 iteration in litterally seconds, then it goes on to the seconds frame, and decides it wants to now use CPU only for the rest of the frames... Which then takes like 4 minutes just to start the following frame.
So there is clearly an issue with IRAY rendering on Daz 4.9
My specs are pretty highend so this shouldn't be happening, especially when I have two 8gb cards with over 2500cudacores, and 1900mhz base clock, and 10,000mhz memory clock.
i7-4770k
16gb RAM
2x GTX 1080SC (non-SLI) 8gb VRAM ea
2x SSD
4x WD BLACK HDD
A 651mb texture scene should not be reverting to cpu rendering for any reason whatsoever, especially on the 2nd frame....
Sorry I"m getting a little irritated because of the amount of money invested in this site, and I can't even render on what is advertised to work...
Not quite....if each frame is rendering to it's own 'window' as opposed to directly to a file, then it is being HELD in memory, even though it is 'finished' So after a few frames, all the memory will be used up, with the previous frames.
Also, your limit is 8 GB (memory is not combined, CUDA cores are), minus whatever Windows decides it needs to use/'reserve'.
When rendering an image series the only option Is to render to file. It is never rendering to window. Unless it is invisablly rendering to a window that doesn't appear, and isn't giving me the option to turn it off?
It does the same thing in "to Movie" option, and it will eventually do the same thing if I render each frame seperately, without shutting down the program and reopening it ever few frames... to me it sounds like a memory leak or something witht he program if thats possible.
Did you try reducing the resolution of the image sequence or video? As large as you were trying to work with in the first post could actually be part of the problem.
Render to a window, and keep the window open. You can manually stop rendering when you see the first signs of an image.
Next, with that window still open, switch to rendering to an image sequence.
Even without rendering image sequences, Iray has been known to get messed up with certain scenes and textures. I've had some scenes that rendered one just fine to the GPU, and then after that, would require a system restart to render again to the GPU. Others here have reported similar instances. Unfortunately, if this is your problem as well, there's little you can do than rebuilding the scene over again, and doing test renders to see if the cuprit is a specific geometry or shader.
(In my case, it was some corrupted shader I used for a V4 character. Using a different skin shader fixed the problem. Took hours to find that out, though.)
The unilateral switch to CPU mode, even when you don't have it selected as a render device, seems to be something new in the later 4.9 releases. Several users here have reported it.
Yes, I tried 1080p and it still did the same thing. I'm currently using 2k for the current series of images. and it needs to be 2k at a minimum or else I might aswell take the leap to Maya or 3DS Max. That way I can use Vray.
I will Try this now, and Hope for the best. I'll update On what happened.
Doing this ended making the very first frame go straight to CPU. Leaving a half rendered frame open I mean.
So i just monitored my video cards while rendering, And it is in fact not emptying the video cards memory after a scene, its just piling it on top of the already used memory. So this is clearly an issue with the program working with IRAY... At least from what I can tell...
Unfortunately, it's partially by design...way back when Iray was first added to Studio folks wanted a 'pause/resume' function...and by keeping the scene in memory was the way it was able to be done. It should clear it, though, if rendering to an image sequence/file (at least that's what I thought it was supposed to do).
So, after some Trial and Error, I have determined that it loads all the textures on to the video card, and then on top of those textures it then adds the variations for said scene. What gets removed from the video cards memory isn't the textures but the variation of geometries. In my case, I had a lot, as I have this one tree that is extremely detailed with its polygon count, and what seems to be happening, is that its keeping part of the geometry memory, and adding to it as the camera moves around the tree, which was essentially making my memory look as if it was not emptying. For now I've removed the tree, and background items, that I will now need to render seperately, and then put into vegas or something as a background layer for final rendering... Which sets things back a fair bit. However, rendering my scene 3 times over (which is the total amount of times i"ll need to in this case) with my two 1080sc, is still 10 times faster then doing it on CPU.... So Until they fix this, I guess this is what I have to do.
(by fix this I mean, I feel like the geometry count should refresh for every frame, so that way its not getting stock piled in the background, where most of it isn't being used. Yes it may make frames render faster if you got cards that got a lot of VRAM to spare, though from the mass majority of the community, it appears that extra vram is not the case.)
File a bug report with that ^^^^ as the suggested fix.
This (and your follow-up) pretty much indicates issues with your scene. By leaving the window open, you keep the scene database in memory. Doing it this way saves D|S the trouble of re-assembling the scene for each frame. It's the usual trick for reducing render time, whether doing animation or re-rendering.
I guess if you're flying around the scene with your camera different segments of geometry may come and go, and this is causing some memory errors. Does seem like a bug, though it'll be in Iray and not D|S. This means Daz has only limited influence in fixing it.
For grins, try setting the instance optimization setting from Speed to Memory, and run your scene with all objects.I have no idea if this will have any effect for your scene, but it would be an interesting test to try. You can read about what this setting does here (and note the drawbacks of choosing Memory):
https://www.migenius.com//doc/realityserver/latest/resources/general/iray/manual/concept/instancing.html
Well,
I have noticed some memory issues using Iray in 4.9 as well. When I modify and render a scene several times (no windows open rendernig in the viewport) and then close iray rendering in the viewport, my machine (980TI, 6 core 5820 with 32 Gb ram) renders on the processor. But when I save the scene and restart and reload and render the same scene is rendered on the GPU.....somehow I'm sort of getting the feeling that memory manegment is not a strong point of the latest iray or DAZ versions.
Greets, Artisan