Some iray and GPU questions keep appearing throughout the blog comments so I thought it might be best to create one post to answer those most commonly asked questions. Read on for the list.
Question 1: How can I combine the memory of multiple GTX type cards? For example I have two GTX 580′s with 3GB of memory, how (or will) iray see that as 6GB?
Answer: As of today, it’s not possible to combine the memory of GPUs for rendering. No, attaching that SLI cable won’t make it work either. In fact if anything attaching the SLI cable will slightly decrease your performance with iray and rendering. If you want or need 6GB you have to use a Tesla 2070 or Quadro 6000.
With GPU rendering in mind I think it’s helpful to view the GPU’s as render nodes on a CPU based system. If you were to add a new render node to your ‘farm’ that doesn’t increase the RAM in your workstation. It just gives you another node to render with. That’s what happens when you add a GPU to your workstation and use a GPU rendering application.
a. SLI is not required for applications like iray to recognize multiple GPUs. By default iray will use whatever compatible GPUs you have installed in your workstation. You can also manually assign GPUs via scripts and/or the hardware controls available in newer versions of iray.
b. If your scene exceeds the memory of your GPU, then iray defaults to using your CPU which will often be far slower than your GPU (depending on the GPU and CPU types).
Question 2: Those Quadro/Tesla cards are a ripoff. My GTX 580 renders so much faster than my Quadro FX1800. With that in mind I don’t understand why would anyone waste the money on these Tesla/Quadro cards?
Answer: Go to the nvidia site and do some research before buying a GPU. You’ll want to look at the available memory, number of CUDA cores, and their speed. With that in mind you’ll find the GTX/gaming type GPUs typically have more CUDA cores than a similar series Quadro GPU. Plus the GTX cards are usually clocked faster than similar Quadro/Tesla cards. More CUDA cores + faster clock speeds = faster renders. However, that also means more heat generated.
It’s been said that the GTX type cards aren’t designed with rendering in mind and may fail when pushed to the extreme like that. For me, the jury is still out on that one. I know heat = bad when it comes to electronics in general. But I think if a person were to keep the GTX type cards cool while rendering (85c or lower), they would last longer. Time will tell on this one as more people adopt GPU type rendering with various types of GPUs.
So, why would a person need to spend money on a Quadro/Tesla GPU for rendering? The primary answer is simple, memory. While the GTX cards may be faster, they are still only limited to 3GB of memory (as of the date I wrote this article). I’m using the 6GB Quadro/Tesla models because I need the extra memory. I could use more memory (8 to 12 gb would be nice), but that animal doesn’t exist yet. Bottom line, you don’t buy a Quadro/Tesla card because it’s blistering fast. IMHO you’d buy a Quadro or Tesla card when you need more than 3GB of memory for rendering, or if you’re burning through GTX cards, or perhaps for better viewport performance (that’s up for debate).
Question 3: Which GPU should I buy?
Answer: That’s up to you to decide. I say that because I don’t know your budget, what type of scenes you work on or their size (scenes + textures have to fit onto each GPU), whether or not you have ample cooling for GTX type cards, and/or how important (or good) your viewport performance will be, etc..
As a rule of thumb here’s what I’ve been telling others that asked the same question: Start with something like a 2gb or 3gb GTX card (a 3gb 580 is a good choice) to get a feel for iray and/or GPU rendering in general to see if it even fits into your pipeline. If it doesn’t, well at least you have a nice gaming card to use or sell. If you’ve tried it and discovered that GPU rendering will work well for you and your GPU temps aren’t terribly bad, then you may want to get another GTX type card or two for faster renders.
After testing, if you discover your scenes require a bit more than 3gb then you have to decide whether or not it’s feasible for you to invest in the higher end Quadro and/or Tesla cards. Typically you’ll use a Quadro series GPU to drive your viewport and Tesla for rendering. You can render with the Quadro GPU’s, but do NOT buy a Quadro for rendering only. I say this because the Tesla computing GPUs are less expensive. For example, a 6GB Quadro 6000 cost around $4,000.00 while a 6GB Tesla c2075 will cost around half that at $2,000.00.
As of July 2012, 6gb is currently the maximum amount of memory available on an nvidia GPU. If your scenes require more than 6gb, then you’ll have to get creative , like split render them, etc.. At that point you’ll also need to decide whether or not that extra work negates the speed of GPU rendering all together.
Also keep in mind that the dual GPU cards, like the GTX 590/690, share their memory. Therefore while it may have 3GB it’s split into 1.5gb x2. Therefore your 3d scenes will be restricted to 1.5gb of memory as well.
Question 4: iray is not a production ready render yet.
Answer: While it may not work well for all situations, I know many people that are using it in production work (myself included). No, iray doesn’t have all the features other CPU based rendering applications have (yet). But that doesn’t mean it’s not a production ready render. GPU rendering applications are certainly not a one size fit’s all type rendering solution. It seems to work best for product vis and some architectural vis scenarios. Bottom line, try GPU rendering yourself to see if it should be incorporated in your pipeline or not. IMHO that holds true for all rendering applications, GPU based or not.
Question 5: There’s a lot of noise/grain in my iray renders…
Answer: iray will refine an image over time by removing noise/grain to acceptable levels. Some scenes are more efficient at this than others. For example, an architectural interior scene lit by a small light source (or a few small light sources) will take a very long time to clear as opposed to an architectural interior scene lit by very large windows (daylight) and/or large area light sources. Your hardware plays a big role in how efficient/quickly a scene renders as well, just as it does with CPU rendering. You can also find scene optimization tips on the iray website HERE.
Question 6: Can iray render animations?
Question 7: iray isn’t using my GPU.
Answer: It may be something as simple as you need to update your GPU drivers. Or perhaps you’re using an older GPU that doesn’t have CUDA cores? You can update your GPU drivers from the nvidia website. You can also find a list of CUDA-enabled GPUs here.
Question 8: Will my ATI card work with iray?
Answer: No, you’ll need an nvidia card for iray. At least that’s how it is as of the time of writing this article.
Question 9: How well does GPU “X” work with my 3ds Max viewport?
Answer: I personally have no idea. I’ve seen people using similar GPUs and their 3ds Max viewport experiences were completely different because they worked on different types of scenes or rigs, etc..
Question 10: What if I want to assign a specific GPU to use?
Answer: In the 3ds Max/Design 2012 Subscription Advantage Pack there’s an update to iray that allows you to specify hardware used in the settings. Prior to that you could use string commands or better yet, the iray manager script.
Question 11: I can’t use iray because it’s far too slow.
Answer: Path tracing applications aren’t right for every scene. For example, architectural interior scene illuminated with a few small light sources will typically take a long time to render with path tracing type applications. The same interior scene lit with large windows and/or light sources won’t take as long to render. So if your main job is illuminating interiors with a candles, path tracing type applications will probably not be your best choice in rendering software. However, it should work fairly well for things like architectural exteriors and product/automotive visualization.
Of course hardware also plays a huge role in how efficient iray and similar GPU rendering applications are…but that shouldn’t be surprising since it’s true for all rendering applications (CPU and GPU based).
Question 12: How can I optimize my scenes for GPU rendering?
Answer: Keep geometry limited to the basic amount of subdivisions needed. You’ll also want to keep in mind that geometry/proxy instancing on a GPU doesn’t work as efficiently as it does with more typical CPU based rendering applications (at least that’s how it is at the time of writing this).
Keeping texture maps as light as possible, and as few as you can get away with will be helpful with memory as well.
In iray ver.1 the frame buffer itself would consume memory but that has been addressed in newer versions so frame buffer size shouldn’t matter going forward.
You can also find some performance tips as well as tips for preparing content for iray at the irayrender.com website.
Question 13: What are your system specs?
My current GPU based workstation is built using these parts:
Mainboard: ASUS P6T7
CPU: Intel i7 960 3.2GHz
Ram: OCZ 12gb (3 x 4GB)
GPU01: nVidia Quadro 6000
GPU02: nVidia Tesla c2075
GPU03: nVidia Tesla c2075
Power Supply: Antec 1200 watt modular
Case: Corsair Obsidian 800D Full Tower
O/S: Windows 7 (64-bit)
Question 14: How much memory will I need for my scene?
Answer: Depends on your scene. Shane Griffith provided the following guidelines in is iray FAQ at the AREA site: For estimating memory usage, budget about 1 GB per 8 million triangles, to which you must also add 3 bytes/pixel for any referenced bitmaps.
A real world example would be THIS scene used 908mb of GPU memory. The scene stats were: 3,093,471 poly’s / 1,781,655 verts with several texture maps used throughout the scene.
Question 15: iray never seems to stop rendering, even when the results look clean.
Answer: Sounds like you have set the render time to unlimited. Which of course means the render will continue until you manually stop it..
Question 16: Can I render final images with iray or is it just an active shade preview?
Answer: Yes. You can render/save final images with iray and use it as an activeshade option.
Question 17: Using the primary GPU for rendering isn’t as efficient as having a dedicated secondary GPU for rendering because driving the monitor/display consumes some of the available memory. What can I do to help free up some of this memory?
Answer: You can turn off all the bells/whistles/pretty stuff in windows (like the AERO options, etc.). Shut down as many graphic consuming resources as possible. For example, Oguz Birgoren reported that switching 3dsmax over to OpenGL frees up more GPU memory than using Nitrous or DirectX.
Question 18: iray is not using my GPU to render / I see some GPU error messages
Answer: Make sure you’re using a version of 3ds Max that supports rendering with your GPU(s). For example, if you’re using a kepler based GPU (6XX series GTX cards for example), then you must to be running a version of 3ds Max that supports that GPU. That means you must be running 3ds Max 2013 with PU06 or higher to use a kepler based GPU.
You’ll also want to make sure that you’re running the latest drivers for your GPU. Also ensure your power supply (and motherboard) can handle the GPU(s) that you have installed.