Intel i7 920 "seen" as single processor core in XP64 system

Started by mhleo, July 08, 2009, 02:20:41 pm

Previous topic - Next topic

mhleo

Hi!
Tried to search for an answer, but no success. After experiencing very long rendering time and not understanding why (brand new PC), I check the Box and TG2 sees only 1 processor core. How do I modify this setting? Many thanks in advance
mhleo

dwilson

What box did you check?

If you are trying to override the number of cores that Terragen detects then open Terragen 2 and go to the preferences window (on the edit menu).  On the startup settings panel check override automatic number of cores detection and then in the textbox type the number of cores that you want Terragen to use.

mhleo

OK, thanks! I feel so stupid not to have found it by myself. BTW, when using other applications they detect 8 core because of the hyperthreading, do you know wheither TG2 will work faster or do I have to use the normal 4 cores? Many thanks for your answer,
Best,
mhleo

PG

With the amount of overhead that would generate it's not worth splitting them. I'd stick with using 4 cores at full blistering speed.
Figured out how to do clicky signatures

dwilson

I don't really know how much increase in performance you would get on an i7, but there is a lot of overhead for adding an extra core in Terragen.  My best machine is a P4 with hyperthreading (sadly) and using hyperthreading is about 14% faster on a fairly simple scene.  The difference is that I am only adding 1 core where you would be adding 4.  Here is a thread discussing the subject: The return of hyper threading - Any benefit to TG2?

Tangled-Universe

Frank Basinski (FrankB) also has an i7 920 system and he's using min. 8 threads and max. 16 threads to enable the hyperthreading of the 4 cores.
I'd say: try it :)

Martin

mhleo

Thank you all for your answers. I'll experiment and let you know the results!
Best,
mhleo

jo

Hi,

First off, it would be interesting to know if anyone else with a Core i7 is seeing it reported as just having the one core.

Ok, to hyperthreading. We try to detect hyperthreading and if so we set the number of cores to number of actual physical cores. So if you have a single core P4 with hyperthreading we report it as just one core and ignore the hyperthreaded core. This is also why we only detect 4 cores on a Core i7 instead of 8. This is because we found that hyperthreading was slowing renders down in some cases and, as dwilson has found, on older processors hyperthreading only gets you a small speed increase anyway. 14% would be about typical.

With Core i7/Nehalem hyperthreading is apparently much better, and I think in this case we might need to add a check to see if a CPU is Core i7/Nehalem and if so count the hyperthreaded cores. That would mean you'd see 8 cores on a Core i7.  There is a different issue here though, in that TG2 has scaling problems with rendering above 4 cores, it starts to get slower instead of faster the more cores you add. On Windows I think it might go ok up to 6 cores IIRC. There is no doubt that the Core i7 is a great CPU for TG2 though.

CPU detection on Windows, especially across the range of OSes we support, is a really nuisance.

Regards,

Jo

dwilson

14% improvement is better than 0% improvement though.  I had a render that took 17hours one core and 14.5 with 2 cores.  I also have 3GB of ram so my computer has the extra memory needed for another thread.

Devin

jo

Hi Devin,

Quote from: dwilson on July 08, 2009, 07:25:59 pm
14% improvement is better than 0% improvement though.

Yes, I didn't say that quite how I meant to :-). It was a bit early, but what I was getting at was that with earlier hyperthreading Intel had said something like 21% was the theoretical best, and a good real world increase was about 15%. So to get 14% is pretty good going.

QuoteI had a render that took 17hours one core and 14.5 with 2 cores.  I also have 3GB of ram so my computer has the extra memory needed for another thread.

It's certainly worth experimenting with if you have the patience :-). I believe we found that different scenes were effected differently, at a guess more complex scenes might be better versus simpler ones. We didn't decide to "disable" hyperthreading without reason.

Regards,

Jo

Henry Blewer

When I render using 1 thread on my P4 hyperthreading computer. I have found that adjusting the task priority of Terragen 2 to 'Above Normal' speeds up the renders. The other logical processor can handle the OS and other things well enough not to cause instability.
http://flickr.com/photos/njeneb/
Forget Tuesday; It's just Monday spelled with a T

Oshyan

I've just got a Core i7 of my own, and it's definitely faster with 8 threads vs. 4. The caveat is that this either A: reduces cache size per core (which can theoretically reduce performance) or B: increase memory use (if you increase cache size to compensate for additional threads). So far I've found it's still a "win" to go down to 50MB per thread with 8 cores (400MB cache, the default). But that may not be true in more complex scenes. But regardless, this i7 is a beast! ;D

P.S. Reporting 4 cores (as Jo described should happen since we're ignoring hyperthread "cores" for now) on Vista x64.

- Oshyan

leovitch

We're having a similar problem but in a different configuration.  On our render nodes we're running tgdcli.exe from Deadline, and it seems to find only 2 cores on these machines:

0: STDOUT: <<<### APP RUN STARTED ###>>>
0: STDOUT: Terragen 2 v2.0 (build 2.0.3.1)
0: STDOUT: Licensed to Polygon Pictures Inc.
0: STDOUT: Found 2 processor cores.

We did check the Render Node's advanced tab, and maximum threads is set to 16.  Our render machines run Windows XP 64-bit Professional and have 2 Quad Core Intel L5430s for a total of 8 physical cores (just in case someone asks, our other rendering programs successfully use all 8 cores on these machines).


  • Our command line (from Deadline) is below.  Are there any extra or different command line parameters we should be using?  I haven't been able to find the documentation of the tgdcli.exe command line parameters.

  • I launched interactive Terragen 2 on the render node, and we have not overridden the # threads setting in preferences.

  • Apart from the Render Node's Advanced tab, are there any other settings we should be checking in the Terragen scene or in the preferences?



Thanks for any ideas, and apologies if this has all been hashed out before and I just couldn't find it...

Leo

tgdcli.exe -p "c16_w_mask.tgd" -hide -exit -r -f 590 -o "f:\c16\terragen_mask\c16_w_mask.%04d.bmp" -ox "f:\c16\test\c16_w02\c16_w02.IMAGETYPE.%04d.bmp"


jo

Hi Leo,

It's strange that only 2 cores are being found. At this time your best option is going to be to use the preferences to explicitly set the number of threads and override the core detection code. You can use the TG2 GUI to configure the preferences how you want and then just copy the preferences file out to all the render machines. For a typical install the TG2 preferences file can be found at:

C:\Documents and Settings\<user name>\Application Data\uk.co.planetside\Terragen_2\preferences.xml

Actually, if you haven't changed the prefs for any of the render machines you may need to copy the whole :

uk.co.planetside\Terragen_2\preferences.xml

folder hierarchy as well to the appropriate Application Data folder on the render machines. That way TG2 will find the preferences file when it looks for it at startup.

Given the apparent difficulty of reliably detecting the number of cores available on Windows we may need to look at adding a CLI param for this, although that isn't much help to you at the moment.

Regards,

Jo

Oshyan

Remember that it's *minimum* threads that you'd want to set higher.

- Oshyan