Best offers

Velocity Micro ProMagix W350 High Performance... $4095.00 Velocity Micro More info
Dell Small Business Systems Dell Precision T3400 375W 64bit... $599.00 Dell Small Business Systems More info
Dell Small Business Systems Mobile Precision M6400n Computer... $1636.00 Dell Small Business Systems More info
Compuvest xw4300 Workstation (3.4GHz Pentium 4... $222.37 Compuvest More info
Dell Small Business Systems Precision T3500 Computer Workstation... $869.00 Dell Small Business Systems More info
All about Workstations
 Latest Workstations articles
All Workstations articles

Newsletters


  • Ask your question about IT issues
  • Post

Partners

The Games selection

action : Yoyo the Star Yoyo is a young girl who recently graduated and dreams to become a movie star (don't we all). You'll have to guide her on the path to stardom,...
crazy : Xiao Xiao 7 A great fight scene from the animation movies Xiao Xiao.
Ads

Sponsored links

GPU-Based Rendering

Previous Next
2:00 AM - 07/17/2009 by Jon K. Carroll

When using software-based rendering, the graphics processor in your render nodes won't make a bit of difference in the performance or final image. You can use an integrated GPU or a spare mainstream card you have laying around, but since you'll primarily be connecting to the render nodes using a VNC client, it won't matter.

However, if you are instead using GPU-based rendering, you need to plan on adding a graphics card that the rendering solution in each node supports. If you are using Nvidia Gelato, Nvidia's solution for GPU-based 3D rendering, any GeForce FX 5200 or higher is usable as your rendering device, while Gelato Pro requires a Quadro FX.

Support for Gelato appears to be trailing off in favor of Compute Unified Device Architecture (CUDA) development. Between CUDA and OpenCL, we can expect to see at least some support for GPU-based acceleration for rendering (and simulation/dynamics) in the near future, so that instead of all of the calculations taking place on the CPU, calculations particularly suited to the GPU (especially massively parallel floating-point operations) are offloaded to it. This is essentially the same thing that was done a few years ago with dedicated digital signal processor (DSP) farm cards like the ICE BlueICE, except commodity GPUs are used instead of more expensive DSPs or custom processors.

The caveat here is that GPU-based rendering (or acceleration) is still in its infancy. If you think you might make a transition in the future, then it is important to plan accordingly when buying 1U enclosures, as discussed previously. It is thus a good idea to go ahead and acquire the matching PCIe x16 riser cards so that you can upgrade later. Of course, this also means that the motherboards in your render nodes need at least a x16 PCIe slot.

Render Controllers

In most cases, any individual 3D or compositing application will include its own support for network rendering. For example, LightWave offers ScreamerNet, 3ds Max includes Backburner (which Combustion uses as well), Maya includes Maya Satellite, and After Effects offers the Render Queue. But running all the needed separate render controllers on each one of your nodes is a comparative waste of system resources. Also, the limitations of the included render managers are numerous and they may or may not allow for monitoring of individual systems in order to check the status of a render or frame integrities on a per-system basis or to see if individual nodes have crashed.

In order to efficiently manage multiple systems and multiple renderers, centralized render controllers are thus required. There are several applications that can control multiple software programs from a single render controller. To name a few, Qube!, ButterflyNetRender, Deadline, Rush, and RenderPal are all commercial products. Moreover, there are literally dozens of shareware, freeware, and open-source controllers available as well. Going over the various features of these different render controllers would be an article in itself. Suffice to say that most of them actively monitor the systems for output, check the output frames for integrity, and notify you upon completion of a job. Some also support features like sending SMS messages. More advanced solutions allow for remote management, priority assignment, and handling of some of the local setup tasks themselves.

When shopping for a render controller, first look to see if your solution of choice supports the software you plan to use. Then, look at the features you need and compare your budget.

Talkback
borandi 07/17/2009 11:10 AM
Show
Draven35 07/17/2009 11:14 AM
Hide
-5+

People have been saying that for several years now, and Nvidia has killed Gelato. Every time that there has been an effort to move to GPU-based rendering, there has been a change to how things are rendered that has made it ineffective to do so.

borandi 07/17/2009 11:43 AM
Hide
-3+

With the advent of OpenCL at the tail end of the year, and given that a server farm is a centre for multiparallel processes, GPGPU rendering should be around the corner. You can't ignore the power of 1.2TFlops per PCI-E slot (if you can render efficiently enough), or 2.4TFlops per kilowatt, as opposed to 10 old Pentium Dual Cores in a rack.

Draven35 07/17/2009 11:53 AM
Hide
-4+

Yes, but it still won't render in real time. You'll still need render time, and that means separate systems. i did not ignore that in the article, and in fact discussed GPU-based rendering and ways to prepare your nodes for that. Just because you may start rendering on a GPU, does not mean it will be in real time. TV rendering is now in high definitiion, (finished in 1080p, usually) and rendering for film is done in at least that resolution, or 2k-4k. If you think you're going to use GPU-based rendering, get boards with an x16 slot, and rsier cards, then put GPUs in the units when you start using it. Considering software development cycles, It will likely be a year before a GPGPU-based renderer made in OpenCL is available from any 3D software vendors for at least a year (i.e. SIGGRAPH 2010). Most 3D animators do not and will not develop their own renderers.

ytoledano 07/17/2009 1:31 PM
Hide
-0+

While I never rendered any 3d scenes, I did learn a lot on building a home server rack. I'm working on a project which involves combinatorial optimization and genetic algorithms - both need a lot of processing power and can be easily split to many processing units. I was surprised to see how cheap one quad core node can be.

Draven35 07/17/2009 1:39 PM
Hide
-0+

Great, thanks- its very cool to hear someone cite another use of this type of setup. Hope you found some useful data.

MonsterCookie 07/17/2009 3:33 PM
Hide
-12+

Due to my job I work on parallel computers every day.
I got to say: building a cheapo C2D might be OK, but still it is better nowadays to buy cheap C2Q instead, because the price/performance ratio of the machine is considerably better.
However, please DO NOT spend more than 30% of you money on useless M$ products.
Be serious, and keep cheap things cheap, and spend your hard earned money on a better machine or on your wife/kids/bear instead.
Use linux, solaris, whatsoever ...
Better performance, better memory management, higher stability.
IN FACT, most real design/3D applications run under unixoid operating systems.

ricstorms 07/17/2009 3:38 PM
Hide
-0+

Actually I think if you look at a value analysis, AMD could actually give a decent value for the money. Get an old Phenom 9600 for $89 and build some ridiculously cheap workstations and nodes. The only thing that would kill you is power consumption, I don't think the 1st gen Phenoms were good at undervolting (of course they weren't good on a whole lot of things). Of course the Q8200 would trounce it, but Intel won't put their Quads south of $150 (not that they really need to).

eaclou 07/17/2009 3:50 PM
Hide
-0+

Thanks for doing an article on workstations -- sometimes it feels like all of the articles are only concerned with gaming.

I'm not to the point yet where I really need a render farm, but this information might come in handy in a year or two. (and I severely doubt GPU rendering will make CPU rendering a thing of the past in 2 years)

I look forward to future articles on workstations
-Is there any chance of a comparison between workstation graphics cards and gaming graphics cards?

cah027 07/17/2009 3:52 PM
Hide
-1+

I wish these software companies would get on the ball. There are consumer level software packages that will use multiple cpu cores as well as GPU all at the same time. Then someone could build a 4 socket, 6 GPU box all in one that would do the work equal to several cheap nodes!

sanchz 07/17/2009 5:22 PM
Hide
--2+

Correct me if I'm wrong, but wouldn't 30 million hours be 30,000,000/24 = 1,250,000 days which would in turn be 1,250,000 / 365 = 3,425 YEARS!!! O.o
Please someone clarify this. How could they render a movie for 3,000 years? Did they have this render farms hidden in Egypt??

nemi_PC 07/17/2009 5:27 PM
Hide
--2+

Some thoughts for small nodes:
1) Cases cablable of taking a 2 slot grpahics card woudl future proff setting up anode at this time in case GPU rendering does become applciable over the lifetiem of the node. So (m)ATX cases not rack mounts
2) Resale of a (m)ATX "reglaur" looking desktop a few years down he road to "home users" is easier than a rack mount server. So should factor that into the value.
3) With 500-1TB being the sweet spot for Gb/$ I would go with those drives and use the render node also as a distributed (redundant) back up solution , this address where are you going to store all your work over the years.

eyemaster 07/17/2009 5:33 PM
Hide
-2+

I'm with you sanchz. But I think they mean per single processor. Say, if you had a common desktop computer and tried to render the whole transformers 2 movie, it would take thousands of years. If you have 10000 processors doing the job, you can do it within a year or less.

mlcloud 07/17/2009 5:33 PM
Hide
-0+

sanchz :
Correct me if I'm wrong, but wouldn't 30 million hours be 30,000,000/24 = 1,250,000 days which would in turn be 1,250,000 / 365 = 3,425 YEARS!!! O.oPlease someone clarify this. How could they render a movie for 3,000 years? Did they have this render farms hidden in Egypt??



What do you think the meaning of parallel processing is? Doing a lot of that work at once, right? If we have a huge render farm of 5000+ processors, we cut down that time to less than a year, wouldn't we?

Of course, a lot of that depends how fast each processor in the render farm is, but the general public won't care about that; just give 'em the huge numbers and don't tell them you were using 1.6ghz celery's in your render farms.

one-shot 07/17/2009 6:10 PM
Hide
--1+

Hmmm. The standard electrical voltage for residential dwellings (United States) on a 120/240V two phase installation is plus or minus 5% of 120V, not the 110V which is mostly stated. So 15A * 120V = 1800VA or Watts, not 15 * 110V.

ossie 07/17/2009 6:41 PM
Show
dami 07/17/2009 7:02 PM
Hide
-0+

Another example, getting out of the computer jargon...

If a task took 100 man hours, that means it took 2 guys 50 hours each to do something. If you did that with 10 guys, it would take each man 10 hours of work. There is a point of diminishing efficiency, which is mentioned in the article. The extreme to this is, it would take 100 men, 1 hour of work to complete the same task. The efficiency has been drasticly reduced.

This is whats being done in these rendering farms. A bunch of processors are put together, tasked with a job, and they belt out the results. If you did that with just one processor, it would take the 3k years in egypt to come up with a result.

ProDigit80 07/17/2009 7:11 PM
Hide
--1+

borandi :
And soon they'll all move to graphics cards rendering. Simple. This article for now: worthless.


I do agree with graphics card rendering,but don't think this article is worthless!

When I read about xeons, I also read about AMD making similar, low power processors like that (45nm or lower?,and a TDP of around 65W, which is 30W lower than their previous processor line).
It might not be beneficial to buy xeons, but perhaps it might when going with AMD.

aspireonelover 07/17/2009 7:17 PM
Show
Anonymous 07/17/2009 8:15 PM
Hide
-0+

How about network booting the cluster - we have found it easier to manage upgrades/patches as you just need to reboot the nodes that need upgrading. Also makes each node a little cheaper and saves a fair bit on power consumption.
Another idea we have been playing with is using cheap USB keyfobs either as system drives or to persist config data etc. - much faster boot times, very low power consumption and great MTTF.


Sponsored links

Related articles