Hardware to support IRay rendering

I plan on building a workstation to render video using the IRay engine in Daz3d.  I have a laptop with an Nvidia 730M, 2G VRAM and 8G system RAM.  I've observed the following in my tests:

1.  Simple scenes render significantly faster if I restrict IRay to using the graphics card only.

2.  Large, complex scenes (think 6 or more Genesis figures with fancy hair, clothes, makeup, plus scenery) render significantly faster if I use both the CPU and the graphics card.

3.  No matter how simple or complex the scene, if I render using both the CPU and graphics card the IRay engine utilizes 99% to 100% of available CPU processing power and system RAM.  I have no way of observing how much of the graphics card resources are being used, but based only on the fan noise I would assume 100% as well.

The above suggests to me that the bottleneck for the IRay engine is not processing power, but rather the pool of available RAM.  That would explain why making both the graphics card and the CPU available slows IRay down on simple scenes.  The engine is written to use 100% of the available resources in all cases - with no optimization based upon the size of the render job.  The system overhead required to move data between the VRAM and RAM is so high it actually slows the system down compared to just running on the graphics card VRAM alone.

Once the scene becomes so complex that the VRAM is no longer sufficient to render a frame the engine is forced to start paging memory to the hard drive - making renders glacially slow.  Adding the CPU, and therefore system RAM, to the job for large render jobs alleviates the need for the engine to page to the hard drive.  The added overhead of managing memory pages between RAM and VRAM is insignificant compared to the overhead of swapping memory pages to the hard drive.

The reason this is important to me is because my budget for graphics card(s) is around $1,000 for my workstation.  For that money I can either buy two GTX 980 cards with 2,048 CUTA cores and 4G of VRAM each (total 4,096 cores and 8G of VRAM); or an single TITAN X card with 3,072 CUDA cores and 12G of VRAM.  If memory is the bottleneck as I suspect, the TITAN X should perform significantly better than the dual 980 GTX's.

I realize this is all empirical observation and I don't have any experience with rendering on machines with these kinds of resources, so I would be very interested in input from community members who might have experience relevant to this decision.

Thanks in advance for your input!

Comments

  • prixatprixat Posts: 1,585

    It doesn't quite work that way. If a scene does not fit on a graphics card, then that card is excluded and the CPU (and any remaining cards) do the render.

    In your example if you had the 2 x 980 cards and a 5GB scene then both cards would be excluded, leaving just the CPU!

  • tring01tring01 Posts: 305

    Interesting.  Question.  Then how does IRay render at all when the engine is only allowed to use the graphics card, and the scene doesn't fit?  Seems like it would just stop or crash in your scenario.  Just asking.

  • prixatprixat Posts: 1,585

    Yes, DAZ_Spooky mentioned in one of the Iray threads that the CPU should always be left on as the fallback.

  • digitalus49digitalus49 Posts: 20
    edited September 2015
    tring01 said:

    I plan on building a workstation to render video using the IRay engine in Daz3d.  I have a laptop with an Nvidia 730M, 2G VRAM and 8G system RAM.  I've observed the following in my tests:

    1.  Simple scenes render significantly faster if I restrict IRay to using the graphics card only.

    2.  Large, complex scenes (think 6 or more Genesis figures with fancy hair, clothes, makeup, plus scenery) render significantly faster if I use both the CPU and the graphics card.

    3.  No matter how simple or complex the scene, if I render using both the CPU and graphics card the IRay engine utilizes 99% to 100% of available CPU processing power and system RAM.  I have no way of observing how much of the graphics card resources are being used, but based only on the fan noise I would assume 100% as well.

    The above suggests to me that the bottleneck for the IRay engine is not processing power, but rather the pool of available RAM.  That would explain why making both the graphics card and the CPU available slows IRay down on simple scenes.  The engine is written to use 100% of the available resources in all cases - with no optimization based upon the size of the render job.  The system overhead required to move data between the VRAM and RAM is so high it actually slows the system down compared to just running on the graphics card VRAM alone.

    Once the scene becomes so complex that the VRAM is no longer sufficient to render a frame the engine is forced to start paging memory to the hard drive - making renders glacially slow.  Adding the CPU, and therefore system RAM, to the job for large render jobs alleviates the need for the engine to page to the hard drive.  The added overhead of managing memory pages between RAM and VRAM is insignificant compared to the overhead of swapping memory pages to the hard drive.

    The reason this is important to me is because my budget for graphics card(s) is around $1,000 for my workstation.  For that money I can either buy two GTX 980 cards with 2,048 CUTA cores and 4G of VRAM each (total 4,096 cores and 8G of VRAM); or an single TITAN X card with 3,072 CUDA cores and 12G of VRAM.  If memory is the bottleneck as I suspect, the TITAN X should perform significantly better than the dual 980 GTX's.

    I realize this is all empirical observation and I don't have any experience with rendering on machines with these kinds of resources, so I would be very interested in input from community members who might have experience relevant to this decision.

    Thanks in advance for your input!

    I've done some testing with the Titan X card on DAZ3D. It's a significant step forward and can handle Iray without major slowdowns. Where the card really shines is DAZ3D - complex scenes. Movie creation is signifantly faster as well. This card will be my next purchase. Don't really want to shell out $$$$$ for a M6000  

    Post edited by digitalus49 on
  • After alot of reading , It relies on a GPU with CUDA core support, Meaning a NVidia Ge Force ect.

  • tring01tring01 Posts: 305

    After alot of reading , It relies on a GPU with CUDA core support, Meaning a NVidia Ge Force ect.

    I think I'm confused.  I know you can render in IRay on machines that don't have an Nvidia card at all.  Is that what you're referring to?

  • Iray is native to prosumer and professional NVIDIA cards only, meaning GeForce GTX and Quattro line of cards. Iray won't run on AMD properly ....or at all in most cases. AMD has it's own engine that it uses for texturing.

    http://www.nvidia-arc.com/iray.html

  • tring01tring01 Posts: 305

    I'm pretty much decided on a Quadro 4200.  Any input or experience would be appreciated.

  • prixatprixat Posts: 1,585

    Compared to an 980 Ti... that quadro costs more, has less than half the number of cuda cores, and you get 2GB less memory, built on year-old technology...

    DAZ Studio is not one of the programs that use the Quadro's special abilities, unless you're buying it for something like 3DSMax, don't bother with a quadro.

  • tring01tring01 Posts: 305
    prixat said:

    Compared to an 980 Ti... that quadro costs more, has less than half the number of cuda cores, and you get 2GB less memory, built on year-old technology...

    DAZ Studio is not one of the programs that use the Quadro's special abilities, unless you're buying it for something like 3DSMax, don't bother with a quadro.

    Great advice, yes, thanks.  I later found some good threads on this that agree with you 100%.  For the same money as the Quadro 4200 I can get a GTX 980 Ti, which is a LOT more card for the money.

Sign In or Register to comment.