Iray Speed & Nvidia Cards

Just before Iray appeared on Daz I purchased a Mac which has an AMD Radeon graphics card (its called Sods Law I believe). The cpu is a 3.5 GHz Intel Core i5, using this some renders are pretty quick, but others that I want to do take 24 hours or more.

I can't change the video card on the Mac, so I am looking at getting a Windows machine with Nvidia card to run alongside it. The advantages as far as Daz is concered is not only ?much? faster rendering, but being able to do other work on Daz at the same time as rg render.

Does anyone here know or can point me in the direction of info on which card should I go for &  how much faster rendering on a machine with such a  card be?  etc. etc.

Thanks

Comments

  • PatroklosPatroklos Posts: 533

    I have just found this on on the Daz3d Help Centre, it may be valuable information to others here - Red highlights are mine.

     

     

    System Recommendations for DAZ Studio 4+

    imageCristina Galloway
    posted this on May 7, 11:08

    We would like to provide some hints as to what system to get by explaining the factors that come in play:

    CPU: When you load content a fair amount of CPU calculations are made to apply morphs, fit clothing, smooth and deform. It is one of the factors involved in loading time (along with storage speed). The CPU is also 100% of your render performance (render time) when using non GPU accelerated renderers (like 3Delight in DAZ Studio). So if using DAZ Studio 4.7 or older your CPU determines how fast your renders happen as well as has an influence on how fast things load and deform.

    Storage speed: Your hard drive speed does play a role when loading content but only to a certain point. A spinning disk (regular hard-drive) is quite a bit slower than an SSD so I would recommend getting a 520GB or 1TB SSD to host your DAZ content and scene files on. This along with CPU speed determine how fast things load in your scene. If you raid spinning disks you do get more bandwidth but access time stays slow therefore a raid of spinning disks will not be as fast as even a single SSD. It’s not just about bandwidth MB/s, it’s more about latency (how quickly data seeks happen) and an SSD is much quicker than spinning disks. Storage has no (or negligible)  effect on render time.

    GPU (Graphics Processing Unit): With the latest public beta (DAZ Studio 4.8) the GPU plays a HUGE role in the render time when using Iray (the default renderer in DS 4.8). The GPU plays two roles, it determines how fast you can move geometry around in the interface and it adds processing power to the render process (reduces render time) with Iray (included), Octane (plugin) and Reality (plugin that uses Lux render). Let’s ding into the GPU as a few factors come to play.

    • GPU memory has no direct effect on render time, it simply determines how big a file you can work with. We found that 2GB can handle a single character with a medium sized environment, 4GB can handle around 4 characters and a scene so we recommend 4GB and up. If you have two GPUs and they have 2GB each it does not add up to 4GB, each card has to hold the entire scene. If you try to render a file that is too large to fit in the GPU, Iray will use the CPU to render (which will be much slower than using a GPU or both GPU and CPU together). So GPU memory is what determines if the GPU can be used or not, if the file fits, it will be used and if the file doesn’t fit, it won’t.

    • GPU cores, this is similar to CPU cores but instead of having 4,6 or 8 cpu cores running at 4000 MHz, you have thousands of them but they run at around 7000 to 1200 MHz. Each core can calculate a par tof the image so render time (with a gpu based renderer) is directly proportional to how many cores you throw at it. Iray is an NVIDIA technology and uses CUDA cores which are found in all NVIDIA GPUs, This means AMD (or ATI) GPUs will NOT be used for rendering with Iray, they will however come into play in the OGL viewport when you orbit around your scene (in drawstyles other than Iray). You can use one or multiple NVIDIA Geforce, Quadro and Tesla cards (or a mix of Quadro and Tesla) to decrease your render time with Iray and current cards tend to range from 250 to 3000 CUDA cores so there is a huge range of performance (and pricing) to pick from. The biggest setup that is available today as I write this would be using four NVIDIA Geforce Titan X cards which would give Iray a total of 12,288 cores to render with and 12GB per card would accommodate very massive scene files. Even entry level cards with 300 or 400 cores are substantially faster at rendering than current high end CPUs.

    • There is no tangible difference in render time between Quadro, Tesla and Geforce cards, the specs that matter are how many cores and how quick they are (Geforce tend to be a little faster).

     

    To decide what computer to go with I would use the following guidelines:

    • Make sure your motherboard has the latest Intel chipset (currently the X99)

    • For graphics applications 32GB of RAM is a good minimum, most high end systems have 64GB but this will have little to no impact on your render time.

    • 6 core CPUs are enough if you are going to use Iray (or other GPU renderer), when you get into high core count GPUs, the CPU becomes less important.

    • Get as many large GPUs as you can… 4GB or memory is a minimum, over 8GB is probably not going to be needed. Core count is critical, so if two less expensive cards give you more cores than one expensive card, go for the two cards…

    ·        Make sure your motherboard offers at least 8 lanes of PCI per GPU installed (Ideally 16 lanes per GPU). If you have 16 lanes per GPU you get the full performance, having only 8 lanes per GPU gets you around 80% of the GPU performance, this influences the decision to buy one large card over multiple smaller cards.

  • KurzonDaxKurzonDax Posts: 228

    Just to add a little practical knowledge to this, as well as some bits I've learned from experts around these forums:

    I run a single Nvidia 970 w/4GB of RAM. My processor is a quad-core i7 4GHz overclocked to a very stable 4.8GHz.  The difference between GPU and CPU-only rendering times is pretty massive for me.  I find the real limitation to be the 4GB RAM on the GPU.  There are some additional things to think about:

    • If you have a single video card running your displays and also being used for rendering, you can't take advantage of the full amount of RAM on the video card.  This is because Windows needs a few hundred megabytes for your desktop and whatever other applications you have running simultaneously.  For example, in my setup, I'm running two displays (one 27" at 1440p and one 23" at 1080p) off the 970.  I also typically have Chrome and Photoshop open as well.  That alone keeps the used RAM on the 970 at about 700-800 MB, meaning if my render goes much above 3GB, Iray is going to revert back to the CPU.  If I can quit spending money in the Daz store long enough, I plan on adding a second, cheaper card to run the displays, leaving the 970 dedicated to rendering.
    • If two high-end cards are not an option financially (as in my case), bear in mind you can run different Nvidia cards in the same box. So one high-end card and one or more lower spec (and cheaper) cards is perfectly acceptable.  Remember though, any cards that will be a part of the rendering process need to have equivalent RAM sizes, or you will be limited to the capacity of the card with the least amount.
    • Nvidia SLI is not required, and in fact should be disabled, when rendering with multiple cards. 
    • Intel motherboards with the X99 chipsets are still fairly more expensive than Z97 mothherboards.  In addition the RAM supported by the X99 is pretty expensive, too.  If the PC is going to be used primarily for graphics, I personally think it's better to go with the less expensive Z97 option and put the money towards a better GPU(s).  However, the X99 chipset generally supports 16 PCI channels to up to two GPUs, if the CPU installed will support it.  Z97 will only support 16 PCI channels to a single GPU.  If 2 GPU's are installed, it drops to 8 channels each.  The added Cuda cores of the second card should (theorhetically) more than offset that though, but that's just my opinion and your actual results may vary.  

    Special note: if you plan on doing gaming with the PC as well, seek more qualified knowledge than me.  I don't do PC gaming.  That's what the PS4 and the big TV are for :)

     

  • PatroklosPatroklos Posts: 533

    Thanks, very useful.

  • CDS1aCDS1a Posts: 5
    edited September 2015

    One more thing on GPU memory, etc.

    It's textures + geometry that must fit on the card. Not only must the scene fit, but IRay needs some space on the car to render its results. I find I have to do some messing around and simplifying with my models to make everything fit well.

    Details:

    • I have a GTX 660 with 2GB of memory on an intel i7-4770K CPU @ 3GHz with 32GB main memory.
    • I also use this card for my 2 1920x1200 displays.
    • I get nice render times with 1 character and bright lights. Converged to (say) 80% in 600sec to1000sec.
    • Darker scenes take longer to yield results without significant noise.

    With 2 characters in bright sunshine, the times get somewhat larger: say 1000 - 3000 sec

    However, some scene components have many more textures than others. To fit stuff on the card and have a decent amount of space to render results, I often simplify my models in various ways: Eliminate useless textures, and occasionally do geometric simplification. Example useless textures: diffuse and glossy textures for fingernails/toenails, specular textures for skin with limited variance, normal maps that don't seem to do much, high resolution textures for stuff you aren't taking pictures of...

    Also, if the clothes are opaque, I turn off the body underneath the clothes. This will save triangles, but not textures, since the hands and face are always visible in my scenes, but if you have a ninja with gloves, you could hide just about all of the actual body geometry. The clothes will fit even if the body is invisible.

    The worst example was a Pergola scene that had 6 different 4kx4k wood textures that were only subtly different. Changed that to one texture, and usd the decimator to cut the polygon count by a factor of 5.This made a big difference in render times

    The following snippet from my AppData/Roaming/DAZ 3D/Studio4/log.txt file describes the details of how much space iRay thinks it has on a scene with two characters + the deco apartment scene. For MY setup, 806MB is the maximum workspace that IRay tries to allocate. There are a lot of textures in this scene, so on this particular run, IRay falls back to 445MB workspace:

    Iray INFO - module:category(IRAY:RENDER):   1.0 IRAY   rend info : Geometry import (1 object with 740K triangles,)
    ...
    Iray INFO - module:category(MATCNV:RENDER):   1.0 MATCNV rend info : found 583 textures, 20 lambdas
    ...
    Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : CUDA device 0 (GeForce GTX 660)
    Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : CPU (7 threads)
    Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Rendering...
    Iray INFO - module:category(IRAY:RENDER): 1.7 IRAY rend info : Using device 0 to build data for host
    Iray INFO - module:category(IRAY:RENDER): 1.2 IRAY rend info : CPU (7 threads): Scene processed in 56.322s
    Iray INFO - module:category(IRAY:RENDER): 1.2 IRAY rend info : CPU (7 threads): Allocated 53 MB for frame buffer
    Iray INFO - module:category(IRAY:RENDER): 1.3 IRAY rend info : CUDA device 0 (GeForce GTX 660): Scene processed in 56.852s
    WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.3 IRAY rend error: CUDA device 0 (GeForce GTX 660): out of memory (while allocating memory)
    WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.3 IRAY rend error: CUDA device 0 (GeForce GTX 660): Failed to allocate 846086144 bytes
    WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.3 IRAY rend error: CUDA device 0 (GeForce GTX 660): May not have enough memory available to start CUDA kernel (estimated 806MB).
    Iray INFO - module:category(IRAY:RENDER): 1.3 IRAY rend info : CUDA device 0 (GeForce GTX 660): Allocated 53 MB for frame buffer
    Iray INFO - module:category(IRAY:RENDER): 1.3 IRAY rend info : CUDA device 0 (GeForce GTX 660): Allocated 445 MB of work space (566k active samples)
    Iray INFO - module:category(IRAY:RENDER): 1.3 IRAY rend info : CUDA device 0 (GeForce GTX 660): Device optimized for interactive usage; performance could be sacrificed

     

     

     

    Post edited by CDS1a on
  • Patroklos said:

    Just before Iray appeared on Daz I purchased a Mac which has an AMD Radeon graphics card (its called Sods Law I believe). The cpu is a 3.5 GHz Intel Core i5, using this some renders are pretty quick, but others that I want to do take 24 hours or more.

    I can't change the video card on the Mac, so I am looking at getting a Windows machine with Nvidia card to run alongside it. The advantages as far as Daz is concered is not only ?much? faster rendering, but being able to do other work on Daz at the same time as rg render.

    Does anyone here know or can point me in the direction of info on which card should I go for &  how much faster rendering on a machine with such a  card be?  etc. etc.

    Thanks

    Before you jump to windows... consider building a hackintosh. That is what I run. X99 Mac Pro with a GTX Nvidia card. 

  • kitakoredazkitakoredaz Posts: 3,526
    edited September 2015

    I have question about 2 same Nvidia video card A and B,   I could understand, I can set SLI Off when I render by Nvidia controll panel,

    and it seems to be recommended for Iray.  

    My question is,

     I hear,  it is good to set one video card A for display (or other apriation if you need),

    then set another video card B as render (iray , it seems same for cycles render of blender)

    If you have two same video card , what you recommend?  

    case 1  the scene size over the limits of Video card memory.  (eg scene 5GB then I have two video card with 4GB )

    about this case,  there is no difference, whether I set video card for display only or not,

    simply DS render by CPU only, then both video cards  not work for render? (I think so)

    case 2  the scene size  under the limits of Video card memory  (scene 3 GB then I have  two video card with  6GB etc)

    then about this case , I may better to set Video card A as render only ?  or no need to change

    setting just set SLI OFF?

    and how I can set it ?  there is option to set each Video card for display, or render only  in DAZ studio? 

    (sorry I have never gotten  two video card, then I do not know what I need to set  some video cards ^^;)

    and,,,  christina wrote

    For graphics applications 32GB of RAM is a good minimum, most high end systems have 64GB

    but this will have little to no impact on your render time.

    that means I may need not 64GB RAM,  if I have 32GB (and I will)

    (good minimum?!  At current  I had only 12GB memory,, then actually only 10GB less can work  for other aprications,, I think)

    change memory to 64GB  may not need about tweaking daz stuido ( modify figure weight map,,  or big scene management, pozing, etc)?

    or it change many for usability ?  when 64GB memory need? 

      eg 3delight cpu render, the 64GB memory not useful so?indecision

    (I am thinking if I need to get more memory for my new PC (with 32GB RAM )

    (edit navida to Nvidia ^^;)

    Post edited by kitakoredaz on
  • case 1  the scene size over the limits of Video card memory.  (eg scene 5GB then I have two video card with 4GB ) ..... simply DS render by CPU only, then both video cards not work for render?

    That's right. The GPU can't do IRay renders on scenes that are too big for its memory. See your log file for what it's actually doing: AppData/Roaming/DAZ 3D/Studio4/log.txt

    Also, there's a sub-window named Advanced on the IRay control panel on the Render Settings tab. Here you can select what gets used for IRay rendering. There's a list for interactive mode, and for photoreal.

    Note, that the GPU memory cannot be shared between cards. If you have a 4GB GPU and a 2GB GPU, IRay will only be able to do GPU rendering of your 3GB scene on the 4GB GPU. The 2GB GPU will be idle for that render.

  • Hi CDS1a.  thank you .

    I may need to check the log carefully to understand maximum set up,

    scene size,  actually I ray can use my GPU or not.

    maybe report here after I set up new PC (she will come this week  end ^^;) with each setting and some test scene.

    (I saw some report ,even though the scene is clear overflow maximum set up memory of GPU,

    we may better try to use CPU with "GPU" in daz render setting, it can reduce time than " CPU only",

    (not many but effective,, 5 second etc,,)   ,,but I feel it may change with each user video card setting

    to render CPU with GPU correctly,,)

  • edited September 2015

    Having matching cards in parallel on your computer will certianly help decrease render times. Do NOT SLI these cards! On a side note I have done testing on the GTX980Ti and can confirm that it nearly halves the render time from the GTX980. Having two GTX980Ti's in parallel was outstanding... and I saw 200% increase in render performance and major impovements in animation - video rendering too. Also, something to keep in mind about RAM - do fill up your RAM slots completely. I am running 32 GB of 2133MHZ DD4 in 4 of 8 slots. This RAM is running at 2500 MHZ which has given me a small but noticable boost in performance. Filling up those extra RAM slots also gave me an extra 40% in speed for render times. These are just a few fine adjustments that can help improve rendering performance. 

    Post edited by jwhytephotography on
  • Hi, jwhyteaphotography , really thank you because I worry to plus RAM, actually.

    I have ordered new PC , but I choosed  DDR4 SDRAM PC-17000 QuadChannel as 32GB as BTO PC

    then I do not like touch pc (change memory or add video card my self ^^;)  ,

    I know 32GB is plenty of usuall PC usage, and most of 3d game or aprication may not need more RAM,

    but I often feel stress when blender simulation , or play animation with many poligons figure , without retopo much,

    and hope to lender everything as fast as I can too ^^;  and hope to move everything in 3d scene as fast as I can,,

    then after see your response, I could order  more 32 GB to PC shop... as quad  channnel set.

    At least ,I may not care about RAM  etc anymore,,

    my ordered PC will come as best component as I could now.

    (I know my pc will be too powerful  for my 3d skill etc,and

    know  how good PC I will get, it never change my skill, but I simply hope to lender fast ^^;

    because tweaking 3d is my life hobby. some one may use money for their car,

    but I hope to use it for PC to play 3d.

     

  • Filling up all the lanes means that you'll have RAM processing on all data pathways which leads to better performance. Overclocking RAM by a safe margin is good but be careful not to go too far or it will crash the computer or prevent start up.  

    Hi, jwhyteaphotography , really thank you because I worry to plus RAM, actually.

    I have ordered new PC , but I choosed  DDR4 SDRAM PC-17000 QuadChannel as 32GB as BTO PC

    then I do not like touch pc (change memory or add video card my self ^^;)  ,

    I know 32GB is plenty of usuall PC usage, and most of 3d game or aprication may not need more RAM,

    but I often feel stress when blender simulation , or play animation with many poligons figure , without retopo much,

    and hope to lender everything as fast as I can too ^^;  and hope to move everything in 3d scene as fast as I can,,

    then after see your response, I could order  more 32 GB to PC shop... as quad  channnel set.

    At least ,I may not care about RAM  etc anymore,,

    my ordered PC will come as best component as I could now.

    (I know my pc will be too powerful  for my 3d skill etc,and

    know  how good PC I will get, it never change my skill, but I simply hope to lender fast ^^;

    because tweaking 3d is my life hobby. some one may use money for their car,

    but I hope to use it for PC to play 3d.

     

    Are you using an X99 board. Kitakoredaz?  I agree - getting a better graphics card in combination with more RAM will give a significant boost to the rendering performance. So I've included a picture that was rendered first in 4K - IRAY. The time on the first render was 70 minutes. When I overclocked my RAM from 2133 MHz to 2500 MHz - the same picture took 65 minutes. Next, I filled all of my RAM channels and applied the same overclock. My render times dropped down to ~ 43 minutes. Using up more RAM lanes is going to give the highest performance on the CPU side. Next.... you do your video card.  The Titan black is equal to the GTX 980 Ti  - and the new Titan X is equal to 1.5 times the rendering processing as the GTX Titan Black  and features a full 12GB of ECC ram on board. It's a beast. 

     

    scene2.jpg
    1440 x 810 - 580K
  • Thanks wink now I am convinced  it was good idea for me to change RAM as 64GB.

    then yes, I plan to OC ,but actually I have never tried Over clock about CPU ,video card etc,

    though new mother bord is MSI X99A GAMING 7 [Intel X99 chipset]

    then it seems have easy one click way (OC ginnie?) to set up for OC,

    but PC shop man tell me , if you try OC be carefully tweak ,and we can not support if it break my PC ^^;

    (then I maybe not try it)

    anyway really thank you to teach me about PC, (I have very little knowledge to customize PC)

    by the way,, then it is out of subject,  but now my father  (85 yeasrs old ^^;) is in hospital for aspiration pneumonitis ,

    it is one reason ,,I decide to buy new really powerful PC beyond my 3d skill ^^;

    PC is easy to get strong and even though it break we can easy change divice,,

    ,but human is very difficult to set up well  after lost health,,

    and feel  human life is too short to enjoy all ,, I feel,, if I hope it,, just do it,, if I can now,,,

    Usually I am not man to say many about  famiy event, cheeky

    but nowdays to think about new PC and ask here about something ,help me lot.

    I need not think about difficult things of human life,, when read all topic about 3D,,,

    then thank you guys.

  • StratDragonStratDragon Posts: 3,251
    edited September 2015

    I guess Cristina Galloway never considered two cards over one will make significant demands on your PSU. So if two cards are less expensive than one in giving you more cores just cross your fingers and hope your PSU can adequately power them or the system will fail and could cause permanent damage to the PSU.

     

    • Get as many large GPUs as you can… 4GB or memory is a minimum, over 8GB is probably not going to be needed. Core count is critical, so if two less expensive cards give you more cores than one expensive card, go for the two cards…

    Post edited by StratDragon on
  • Question I have wondered re. textures and RAM.  If a scene uses same texture on multiple surfaces, say on four walls of a room, is that same texture loading four instances into RAM or is it loaded only once and use on any surface that uses that same texture?

    cheeky

  • Multiple cards and onboard graphics?

    I have a couple of machines just used to render.  The one with the most space, most PCI slots and biggest power supply is a Dell T5400 with two 8 core Xeon CPU's and 48GB RAM.  Right now I have a GT730 card with 4GB.  It renders pretty quick for the most part, but just like the guy with the hot rod...I want more power!

    I understans from what I read a Tesla will not play nice with a GeForce 730 due to incompatible drivers.  Tesla cards can be found fairly cheap on eBay. But very few have any monitor outputs.

    Can I use a simple graphics card just for displays and a couple (or more) Tesla cards for GPU?  I'm thinking of a dual monitor AMD card so the system does not even think of considering that card as part of the rendering process.

    The Xeon MOBO does not have onboard graphics.

    Any input or thoughts most welcome.

     

  • rames44rames44 Posts: 332

    Question I have wondered re. textures and RAM.  If a scene uses same texture on multiple surfaces, say on four walls of a room, is that same texture loading four instances into RAM or is it loaded only once and use on any surface that uses that same texture?

    cheeky

    The texture only gets loaded into RAM once

Sign In or Register to comment.