Results 1 to 2 of 2

Thread: Considerations when building a rendering system

  1. #1
    Join Date
    Nov 2010
    Posts
    1

    Default Considerations when building a rendering system

    Let me start by saying I am not a computer graphics professional. I am an IT systems professional who supports the students and faculty in computer graphics design programs. Our programs include architecture, computer animation, industrial design, interior design, and a few others. I currently maintain a few computer labs both Mac and PC and support many applications including the Autodesk and Solidworks products.

    The challenges of rendering that I am trying to address are:

    1. We do not have the budget to equip every computer lab machine with the high end hardware required for complex rendering. While we do purchase some, it is hard to ensure they are utilized properly and available to the right users. For instance I may only be able to equip 5 out of 20 computers in a lab with high end workstation graphics cards, and when I do they are often tied up by users who don't require the extra horsepower. I do not have or do not want to have to control access to seats in the lab based on application needs.

    2. We can not allow users to begin a render and then leave the machine unattended. We also do not want a single person tying up multiple machines for a single project.


    To try and solve these problems, I would like to build a dedicated rendering server. However, not being intimately familiar with the rendering process, I have many questions that I need answered in order to build the best machine I can.

    Now that rendering is able to be offloaded to GPU via CUDA, how important is the main system CPU and RAM vs GPU and video RAM? Does the rendering process use both equality intensively? Is high video ram important for rendering still frames, or only animations?

    My proposed system is configured with 2 6-core Xeons (12 cores total, ?24 with hyperthreading if supported?) and 48GB RAM. Will intensive rendering (either still or animation) consume all of those resources or will I have idle CPU and or unused RAM?

    I have to decide how to configure the GPUs as well. I assume multiple GPUs will improve performance. I have selected a system that meets the bus and power requirements to host up to three Quadro 5000s or 6000s. It looks like there is only a small difference in CUDA cores between the two models, but a large difference in video ram (1.5GB vs6GB). With 48GB system RAM, how important is the video RAM?

    How much of a factor is I/O? Should I take resources away from the CPU , system RAM, or GPU to increase I/O performance at all?


    Finally, once this system is built I need to establish the protocol for accessing or submitting render jobs. Is this something that has to be initiated through a GUI, or is it possible to start a job through command line? I'd like to write a simple PHP based web script where a student could select any rendering attributes or options available and attache their source file. The job would then be automatically scheduled and an email could be generated to inform the student when their job is complete.

    Being very unfamiliar with the rendering process, I don't know if this is something common, or not remotely possible. Any other ideas or suggestions would be greatly appreciated!

  2. #2
    Join Date
    Dec 2005
    Location
    Chicago
    Posts
    2,532

    Default

    Now that rendering is able to be offloaded to GPU via CUDA, how important is the main system CPU and RAM vs GPU and video RAM? Does the rendering process use both equality intensively? Is high video ram important for rendering still frames, or only animations?
    GPU and Cuda rendering is reserved for iRay rendering. This would be more suited to your Architecture and Design students but not your animation students. You can use any CUDA capable Nvidia card (does not require a Quadro). The scenefile should fit entirely onto the video card memory. The more complex the scene, the more you require so technically more is better. iRay can also run on the CPU at reduced speeds using normal setups and RAM. Animation students will still need the software renderer most likely.

    My proposed system is configured with 2 6-core Xeons (12 cores total, ?24 with hyperthreading if supported?) and 48GB RAM. Will intensive rendering (either still or animation) consume all of those resources or will I have idle CPU and or unused RAM?
    When rendering, it will use all cores to maximum availability when possible. This means the more you have, the faster it will go. mental ray scales over multiple cores well so you should not have idle cores at all (some preprocesses are not multithreaded, but the majority are when sampling the main frame.) Hyperthreading may be useful, but the jury is out on HOW useful. RAM is important for large and complex scenes. Most VFX houses average about 16GB. I would say 48GB should make their life pretty easy. It will load as much of the scene as possible into RAM. If the scene is small, then yes, you will have unused memory.

    It looks like there is only a small difference in CUDA cores between the two models, but a large difference in video ram (1.5GB vs6GB). With 48GB system RAM, how important is the video RAM?
    Like before, if you are rendering with iRay on hardware, then you will need enough memory to load the whole scene or it simply won't render. You may find adding a Tesla card is less money for the memory than loading up on Quadros. Also, GTX boards will render iRay as well. The reason for Quadro is that many DCC packages like Maya have special OpenGL functions that might not display well on a GeForce card.

    How much of a factor is I/O? Should I take resources away from the CPU , system RAM, or GPU to increase I/O performance at all?
    Sort of apples and oranges. the different rendering methods (iRay versus software) are CURRENTLY going to cater to different disciplines. Software will render anything. But iRay cannot do framebuffer passes, motion blur, or layered materials. This means it's best suited for Architectural stills and Design images. Who will be using these the most? Who will have the most complex work?

    Finally, once this system is built I need to establish the protocol for accessing or submitting render jobs. Is this something that has to be initiated through a GUI, or is it possible to start a job through command line?
    There are render managers out there for this job. Qube, Rush, etc are all software packages designed to manage a render farm with the appropriate plug-ins. Autodesk includes Backburner with its major products for renderfarm management. It does not scale well for many nodes and is a bit clunky and basic.

    As a former instructor I can say this: Don't let the students have access to a renderfarm manager. Have someone run the farm and submit jobs that is not a student. Otherwise you'll have chaos while they fight for control over the farm.
    "Don't let anyone drive you crazy when you know it's in walking distance."

    "Don't argue with an idiot, they will drag you down to their level and beat you over the head with experience."

    http://elementalray.wordpress.com/

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •