Welcome, Guest

Author Topic: Can Ubox 2 take advantage of 24 cores? Hyperthreading? GPGPUs?  (Read 2436 times)

vmorgo

  • ****
  • Posts: 39
Can Ubox 2 take advantage of 24 cores? Hyperthreading? GPGPUs?
« on: December 11, 2015, 01:30:40 PM »
'Kay, so I rebuilt my UBox machine this weekend.  Replaced a Dell i5 box with 16 GB and 4 cores with an HPz600 with 12 GB RAM (I'm working on that) and 2 hyperthreaded 6-core Xeon 5645's.  Total is 24 cores (or 12 if I turn off hyperthreading).

Facts:
1.  Running Mint Linux (Rebeccah 17.1) with kernel 3.13.  Install was built on the old Dell i5 box, and just physically moved to the new machine.  I am aware that I *might* need to reinstall to take full advantage of the new machine, but, then again, it's Linux, not Windows, so that may not be needed.  For example, BOINC/Seti@Home sees all 24 cores just fine and runs at full bore on all of them. 
2.  Plenty of disk.  2 TB Hitachi 7200 RPM Server Grade.
3.  12 GB RAM. (May be expanding to 24 or 48 GB soon.
4.  May be installing NVIDIA TESLA M2090 in this machine if it will help, otherwise, that goes in one of my other servers.
5.  I turned OFF both TurboBoost and Extended TurboBoost per someone else's recommendation to maximize use of multiple cores (TurboBoost speeds up one or more cores at the expense of others)

QUESTION:
Why is uBox2 only taking advantage (most of the time) of only three to six cores and not using all 24?  Is there something I need to do to tell the program "Hey, you're not on the old quad-core machine.  Now you have 24 cores to play with!"

I look forward to your responses/suggestions!  (and if I figure out anything, I'll post here....)
« Last Edit: December 23, 2015, 05:49:48 AM by vmorgo »

Lord DC

  • *****
  • Posts: 318
  • Omnitae - Leader of Omnipotencia
    • Steam profile
Re: Multicore More?
« Reply #1 on: December 11, 2015, 01:32:40 PM »
You dont really need all this fancy tech to make Ubox 2 run good, unless you're running 250,000 particle collisions. If you need a suggestion, more RAM would be a viable option

vmorgo

  • ****
  • Posts: 39
Re: Multicore More?
« Reply #2 on: December 11, 2015, 01:46:39 PM »
Will work on the RAM.  Got a lead on a set of 24 GB for under $70....

I do not bother (much) with collisions as I feel that such things are best avoided.  (Bad for planets, etc....)

However, I should think that this program should be more than capable of taking advantage of the multiple cores I have available.  It certainly did so on the earlier quad-core machine.  I'm not clear why it shouldn't on this new 24-core system.

By the way--Total investment so far is about $450.  The machine was $285 (including shipping), the nvidia GeForce 730 card about $60 (I was too lazy to order it from NewEgg, so I got it at Staples).  And the Tesla was $85 off eBay.  The hard drive came out of a dumpster, more or less....  So did the old Dell quad-core (quite literally!)

So, why NOT see if we can't get more bang for the buck?

BTW:  Even having a lot of particles seems to slow this down a lot--it doesn't seem to be able to take advantage of more than 4 or maybe 6 cores.  I may reinstall just to see what happens.

A./

Greenleaf

  • Thomas Grønneløv
  • Development Team
  • *****
  • Posts: 211
Re: Multicore More?
« Reply #3 on: December 12, 2015, 06:58:20 AM »
Why is uBox2 only taking advantage (most of the time) of only three to six cores and not using all 24?  Is there something I need to do to tell the program "Hey, you're not on the old quad-core machine.  Now you have 24 cores to play with!"


It should and in general I see all cores being used in heavy testing. How heavily used, that depends on the situation, though.


What happens, without too many details, is that the layer outside the NBody calculations (NBody planet motion calculation) renders a frame, asks NBody for new positions, renders a frame and so on.
Assuming you render at 60Hz and assuming NBody can do its calculation in 5ms, you will have a sequence of events like
render frame, do NBody, wait 11.6ms without doing anything sensible, repeat.


In that case, you will not see your system being pressed. Now try loading a heavy simulation and turn up the timestep. You should now see a heavier load. Due to some code being serial and some being parallel, you are unlikely to ever see 100% utilization.