PDA

View Full Version : LW 8 and Power PC Dual G5...



GuillermoZS
12-17-2004, 06:18 PM
Hi,

My question is simple ;-) Does LW 8 get full advantage of the dual procesors of the Power PC or does it only use one of them like older versions?

Thanks a lot! ;-)

blueagave
12-17-2004, 07:40 PM
Yes, it uses both CPUs. During rendering, and to make up for its lackluster OpenGL performance. Full advantage? not hardly. Judging from what I saw at SIGGRAPH, the Mac mojo went elsewhere.

That said, if your good senses lead you to a Mac, then a dual is worth it.

Ge4-ce
12-18-2004, 04:03 AM
Well, get this:

-When I render with LW on 1 thread, I get 1 minute rendertime
-When I render with LW on 2 threads, I get sometimes faster, but mostly 1.1 minute!!

When I opened Activity monitor in the utility's folder, I saw that both processors were working, but each jumping up and down and when one goes up, the other one goes down... not very efficient


But now comes the trick:

When I copy the LW layout into the programms folder, to another copy!! (call it Layout 2) Then you can open up 2 time Layout! (you better switch off the hub)

When I then render the same scene with 1 thread, I still get 1 minute rendertime!
But then 1 minute rendertime EACH!! So actually, on this machine the rendertime suddenly is 30"!! When I go to activity monitor, both the processors are at 100% and sometimes even at 103% (peaks) but the do not go up and down anymore!!

Bypassing the "not really cool multithreading of LW" by letting the system do the multithreading!! This works awesome and has been a huge timesaver!

blueagave
12-18-2004, 12:55 PM
I see that kind of behavior as well, although it seems to vary by scene. Some are faster with one thread, some with more than one. I think its how LW divides things up, and some parts are clearly not multithreaded. I saw similar behavior when I used a PC.

Instead of running two Layouts, you can run one layout and a LWSN. Then render using the network rendering, even though they are both on the same machine.

Another advantage, to me, of dual CPUs is that I can still do things with my machine while a render is going on.

Ge4-ce
12-18-2004, 03:16 PM
Another advantage, to me, of dual CPUs is that I can still do things with my machine while a render is going on.


Yeah!! You can say that again!

The main difference is,... It still renders.. and even if you do stuff that's pretty CPU intensive.. the renders just take a bit longer.. But you don't notice something is running in the background.

At one point.. I had 2 LW's rendering, and Shake doing a real heavy rendering. Doing them seperatly would go faster for each assignment. But since I was going to do these renders during the night, and didn't feel like getting up at 3am to start another render.. I put on everything at once. And they were all done in the morning.


About screamernet: I can imagine it's a cool tool, but I never really worked with it. I was always told that you have to be very carefull with it. things like: You have to bake about everything that could calculate as random (motions, particles,...some textures etc.. you could get unexpected results otherwise...

And does screamernet act like there are 2 cpu's??? Would you get the same amount of proccessing power as launching 2 layouts? cause when using screamernet, you give the multithreadcontrol back to LW.. I just took it away from LW and gave it to the OS...

Ade
12-18-2004, 05:54 PM
Ge4-ce would you mind writing a small tutorial about this?

toby
12-18-2004, 07:20 PM
I thought you guys understood this!?

Besides the fact that not everything is multi-threaded, Multi-threading has 'overhead' - it actually adds to the render time. Like .5 to 2 seconds per aa pass. Even longer for things like Hypervoxels. It takes time to split the data, and it must also 'tag' the data so it knows how to put it back together. So for short renders, it's like getting in a car to go across the street. You can also lose efficiency if the top half of the render has little in it, so the first proc finishes quickly and sits idle (more or less).
If you're rendering a scene that takes 5 minutes or more, multi-threading is pretty much always a lot faster. Rendering with 2 engines can still be faster, but it's loading twice the ram, which can be an issue with bigger scenes.

Ge4-ce
12-19-2004, 05:23 AM
Ge4-ce would you mind writing a small tutorial about this?

Well.. It's really quite simple...

In the programms folder of LW, just copy the Layout yellow LW icon and name it LW copy or Lightwave 2 or something

Disable the hub by putting it in a differrent folder (I called the folder, disable hub)

and there you go..

Add the second LW icon to the dock, and you can always open up a second LW to render...

When you choose not to disable the hub, I recommend to first start a render on LW-1, and then open up LW-2 and open a scene. If not, LW-1 or LW-2 will crash...

then browse for your activity monitor in the programms utilitys folder and watch both processors go full max..

jdavidbakr
12-20-2004, 03:59 PM
And does screamernet act like there are 2 cpu's??? Would you get the same amount of proccessing power as launching 2 layouts?
My experience with LWSN is that it renders a tad faster than F-10 even with just one copy running. I think there is some overhead to the feedback to the screen that LWSN doesn't do since it's a psudo-command line interface.

jbaudrand
12-22-2004, 01:28 AM
Try to set multi thread to 4 , if you use 2 and if the top if the images is empty and the bottom is full of polygons, the first cpu have to wait the 2nd to end the render.
multithread's parameters change for every scene


sorry for the english, I'm french

Tosk
12-22-2004, 06:33 AM
Some times ago i had a G4 dual 450, osx 10.2 and lw 7.
With this setup i had near always a half cut in render times using 2-4 threads
i can't spot why people have this problems now, i worked with that mac for 2 years and only in particular circumnstance i have longer render times!

MacDoggie
01-05-2005, 10:02 AM
I have a dual 2.5 G5 with 4 gigs of ram. I had a dual G4 before that. When I got my G4 I did some render tests. I found that the optimum setting (for my G4 anyway) was 4 threads, eight threads actually degraded in performance.

My new G5 on the other hand really seems to love the eight thread setting. But this box is so fast in the rendering department that it's almost a moot point..............almost : )

Captain Obvious
01-05-2005, 11:03 AM
Increasing threads beyond then necessary will degrade performance. On this single 1.6GHz G5, it increases marginally if I set it to two threads, and more as I turn it up more. But it's more fun to watch the render with more threads. ;)

The G5 can't do simultaneous multithreading, unfortunately, so turning it up more won't help (even with just one Pentium 4 or Xeon, you'll get lower render times by setting it to two or more). Though, like jbaudrand said, how many threads you should use varies from scene to scene. Four is probably enough most of the time.

toby
01-05-2005, 09:52 PM
The G5 can't do simultaneous multithreading

???
huh? can you explain that?

As far as the 1.6, have you tried renders that take more than 5 minutes? High polygon count? Raytracing? Singles can benefit from multi-threading.

Captain Obvious
01-05-2005, 10:39 PM
???
huh? can you explain that?

As far as the 1.6, have you tried renders that take more than 5 minutes? High polygon count? Raytracing? Singles can benefit from multi-threading.

I've tried various scenes, ranging from a few seconds to a few minutes to render. It never got faster by increasing the number of threads. It got slower, sometimes by very little, sometimes by a bit more. It was never a big difference, though.

Simultaneous multi-threading is what Intel calls "HyperThreading." It means the processor can execute two completely seperate threads at once. Normally, you have to have several processors to do that. It means you can take more advantage of the processor's resources, essentially. 3D rendering generally benefits from it, as does multi-tasking. It's not nearly as good as two processors, though.

BeeVee
01-06-2005, 02:09 AM
Wrong, sorry. The Mac and PC both benefit from multi-threading, but there is an overhead. Scenes that take less than a minute to render normally (on one processor) might take longer on two (or more threads) as the processors organise themselves to each do separate bits of the render. However, when a scene takes a while to render, this overhead is swallowed by the overall speed gain of having a dual processor system. Let's take a simple (faked) example:

some_simple_scene.lws

Render (1 CPU): 42.5 secs
Render (2 CPU): 45 secs

because there's an overhead of 10 seconds eating the speed advantage of the two processors.

some_complex_scene.lws

Render (1 CPU): 638.5 secs
Render (2 CPU): 402 secs

because the overhead of 10 seconds is absorbed into the speed advantage two processors give. Notice that there isn't a 100% speed increase for having double the number of processors, this is because of the overhead.

As final proof have a look at the benchmarks on http://www.blanos.com/benchmark/. Note that there are one or two results that indicate that a single processor system is faster than a dual, caused by one presumes someone either optimising the scene heavily or outright exagerrating, but otherwise dual processors are faster the longer the scene takes to render. Bear in mind also that a multi-processor machine needs more ram because the contents of each scene are not shared by all the processors, they have to be duplicated.

B

Captain Obvious
01-06-2005, 04:36 AM
What is it that is completely wrong? I don't think you posted anything that refuted anything already posted, even if you did clear things up a bit.

BeeVee
01-06-2005, 04:57 AM
Where you say that rendering *never* got faster because of two processors... also, LightWave's multi-threading has absolutely nothing to do with Intel's HyperThreading, which is turning a single physical processor into two logical ones. It is a bit harsh though, so I shall rectify that.

B

Captain Obvious
01-06-2005, 05:10 AM
Where you say that rendering *never* got faster because of two processors... also, LightWave's multi-threading has absolutely nothing to do with Intel's HyperThreading, which is turning a single physical processor into two logical ones. It is a bit harsh though, so I shall rectify that.

B


Read it again. ;) I said it didn't get faster as I turned up the thread count, and that was on a single processor G5. About SMT ("HyperThreading"), my point is that you can sometimes benefit from turning up the thread count even with a single processor, not that it is somehow related to LightWave's multithreading.

Let's put it this was:

Render some_scene on a single processor G5,
one thread: 100 seconds
two threads: 102 seconds
four threads: 102 seconds

Render some_scene on a dual processor G5,
one thread: 100 seconds
two threads: 80 seconds
four threads: 55 seconds

Render some_scene on a single processor Pentium 4,
one thread: 100 seconds
two threads: 90 seconds
four threads: 91 seconds

Render some_scene on a dual processor Xeon,
One thread: 100 seconds
two threads: 80 seconds
four threads: 50 seconds

(all values completely made up, of course)

Since the single processor G5 can only execute one thread at a time, you'll get no performance increase by increasing the number of threads.

The dual processor G5 can execute two threads at once, but with just two threads in LW, the processors might get a very different workload, so one of them finishes after the other. By turning this up to four threads, you won't have that problem. (This is just a theory, I'm not sure about this, but it seems to work that way.)

The Pentium 4 can execute two threads at once, so by increasing the amount of threads to two, you can put the processor's resources to better use, and get shorter render time. However, it can't execute four threads at once, so you don't really gain anything by turning it up quite that much.

Same thing with the Xeon, but since it has two processors, it can execute four threads at once.



Or something along those lines, anyway.

BeeVee
01-06-2005, 05:25 AM
Mea culpa, you're completely right, however, in my defence, the thread title was about a multi-processor Mac and you were talking about a mono-processor G5 - not a common occurence ;) Also, to say "the Mac can't do simultaneous multi-threading" (without explanation of what you mean) is a bit of a blanket statement that fails as *all* generalisations do... :)

B

Captain Obvious
01-06-2005, 05:48 AM
Mea culpa, you're completely right, however, in my defence, the thread title was about a multi-processor Mac and you were talking about a mono-processor G5 - not a common occurence ;) Also, to say "the Mac can't do simultaneous multi-threading" (without explanation of what you mean) is a bit of a blanket statement that fails as *all* generalisations do... :)

B

Well, I did say the G5, not the PowerMac. Ie, the processor, not the computer. ;)