12 core laptop

Started by Niall, Jul 27, 2010, 20:45:11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Rik

It will be interesting to see how long it takes the software to catch up with the hardware, won't it.
Rik
--------------------

This post reflects my own views, opinions and experience, not those of IDNet.

esh

We have some software here used for the modelling of binary star systems, and it will literally eat a single CPU for hours on a single run (and sometimes you have to do it dozens of times, tweaking by hand after each solution). Since I have a 2x4 Intel Xeon rig with a stack of RAM in it, we thought since it was our own code, we could make it MP (multiprocessor). In the most naieve way possible, we ran Valgrind (code profiler) on it, found the most intensive algorithms where the CPU sat, and wrapped them in OpenMP directives, namely each cycle of the internal loop of code should go to another processor. You would think you'd suddenly be at 800%.. but on average the code now ran at 133%, ie. it was using 1+1/3 processors for its effective runtime. Not particularly impressive. Of course, this was a very simple implementation and a 33% benefit is better than nothing, but it does go to show that it will probably need a hefty rewrite to accomplish a lot better utilisation. It's just not easy... there's a lot of subtle interactions, and when anything has to fetch data from the disc -- it all goes to hell. But that's always been the case.
CompuServe 28.8k/33.6k 1994-1998, BT 56k 1998-2001, NTL Cable 512k 2001-2004, 2x F2S 1M 2004-2008, IDNet 8M 2008 - LLU 11M 2011

Rik

Thanks for the insight.  :thumb:
Rik
--------------------

This post reflects my own views, opinions and experience, not those of IDNet.

Niall

Oo that's interesting. What do you do? The nerd in me needs to know :D
Flickr Deviant art
Art is not a handicraft, it is the transmission of feeling the artist has experienced.
Leo Tolstoy

pctech


Technical Ben

Quote from: esh on Jul 29, 2010, 10:47:43
We have some software here used for the modelling of binary star systems, and it will literally eat a single CPU for hours on a single run (and sometimes you have to do it dozens of times, tweaking by hand after each solution). Since I have a 2x4 Intel Xeon rig with a stack of RAM in it, we thought since it was our own code, we could make it MP (multiprocessor). In the most naieve way possible, we ran Valgrind (code profiler) on it, found the most intensive algorithms where the CPU sat, and wrapped them in OpenMP directives, namely each cycle of the internal loop of code should go to another processor. You would think you'd suddenly be at 800%.. but on average the code now ran at 133%, ie. it was using 1+1/3 processors for its effective runtime. Not particularly impressive. Of course, this was a very simple implementation and a 33% benefit is better than nothing, but it does go to show that it will probably need a hefty rewrite to accomplish a lot better utilisation. It's just not easy... there's a lot of subtle interactions, and when anything has to fetch data from the disc -- it all goes to hell. But that's always been the case.

You said you tweak it by hand, would it not be more efficient to run 4 separate processes each with a different set of variables? Then you utilise 100% of each of the cores. I suppose it's no good if your researching just one system. Even then, you can reach an average/correct result quicker. By selecting a high variable, a mid and a low, and then going off the closest of the three from there. Should give you less runs to get to the correct variables.
BTW, IANAS (I am not a scientist) so take that with a pinch of salt. ;)
I use to have a signature, then it all changed to chip and pin.

Lance

A lot of video (and music) encoding software now supports mutiple processors/cores. DBpoweramp is a good example - say you are re-encoding a load of music, it will do each music file on a seperate core up to the number of cores in your machine.
Lance
_____

This post reflects my own views, opinions and experience, not those of IDNet.

Steve

That's the one program I really miss on the Mac and works exactly as you say,speeds up the transcode dramatically on a multicore.
Steve
------------
This post reflects my own views, opinions and experience, not those of IDNet.

esh

Yes, you can run multiple processes simultaneously (careful not to let them overwrite each other's results, of course I never made that mistake!). In fact, we often do when running an MCMC simulation using the program (to achieve a distribution of the variables, ie. variance and error). The problem of recent was in fact the data was too good; we got preliminary downlink from Kepler (a space satellite) and because it is just so unbelievably precise we needed millions of grid points to model what we were seeing, this shoots up the computational time from 'hours' to 'weeks'. The stuff you get off of there is just amazing.
CompuServe 28.8k/33.6k 1994-1998, BT 56k 1998-2001, NTL Cable 512k 2001-2004, 2x F2S 1M 2004-2008, IDNet 8M 2008 - LLU 11M 2011

Niall

Sounds like you have a very interesting job. Want to switch jobs? ;D
Flickr Deviant art
Art is not a handicraft, it is the transmission of feeling the artist has experienced.
Leo Tolstoy

aurichie

Will this machine be powerful enough for my iTunes and checking email?

Glenn

Glenn
--------------------

This post reflects my own views, opinions and experience, not those of IDNet.

Rik

Quote from: aurichie on Aug 06, 2010, 00:03:42
Will this machine be powerful enough for my iTunes and checking email?

Definitely not. For that, you'd need 24 cores. ;)

Hi and welcome to the forum. :welc: :karma:
Rik
--------------------

This post reflects my own views, opinions and experience, not those of IDNet.