PDA

Vollständige Version anzeigen : GeoControl and multi-core processors


mauronen
10.November2007, 17:31
Hi Johannes.
I wanted to do this question, for a long time: GC2 takes advantage from a multi-core processor (quad and so on) or takes more benefit from a processor with higher clock speed, even with a sigle or dual core? This is because soon i want to buy a powerful notebook and i would take a Quad Core with clock speed of 2.66 or 3.00 GhZ.

cajomi
10.November2007, 18:02
Well, at time GeoControl2 does not use the multi core, but always one core. I will enable some multicore functionality in the final release, but I can not say today, how that will work or whether it will work for erosion and r&l.
The idea of multi core was to use different applications simultanous, not to make one run faster. Depending on the algorithm it is possible to create a multi core functionality for one application, but that depends on the algorithm.
For example, a true iteration is never multicore enabled, it has to caculate one step after the other, nothing to separate.
Many algorithm in GeoControl are iterative and so it is really not easy to spread them over more cores. Mostly unseperatable are erosions and river and lake, what are exact the mostly time intensive caculations.
So for GC2 a dual core with high clock speed would be the best. Dual, because it makes it possible, to do other things, while GC2 is caculating.

mauronen
10.November2007, 18:28
I supposed it, because of iterative calculations that GC2 does.

dballesg
11.July2008, 15:10
Well, at time GeoControl2 does not use the multi core, but always one core. I will enable some multicore functionality in the final release, but I can not say today, how that will work or whether it will work for erosion and r&l.
The idea of multi core was to use different applications simultanous, not to make one run faster. Depending on the algorithm it is possible to create a multi core functionality for one application, but that depends on the algorithm.
For example, a true iteration is never multicore enabled, it has to caculate one step after the other, nothing to separate.
Many algorithm in GeoControl are iterative and so it is really not easy to spread them over more cores. Mostly unseperatable are erosions and river and lake, what are exact the mostly time intensive caculations.
So for GC2 a dual core with high clock speed would be the best. Dual, because it makes it possible, to do other things, while GC2 is caculating.

Hi Johannes,

What about divide the terrain into areas and send one area to each core?

I meant a Dual core will have one processor doing the Left Area (or top) of the terrain, and the other processor the Right area (o Bottom).

A quad will divide the terrain into four, and each processor doing one of he quarters.

I do not know if it would be possible, becuase as you said multithreading depends on the algorithms.

Cheers,
David

alexcoppo
11.July2008, 17:03
In the past, Cajomi has dropped vague hints about the algorithms used in GeoControl and in no case they looked anything even remotely parallelizable. I think that the only really parallelizable part would be generating the different layers in a multilayer project. Remember also that this means that memory consumption grows in "parallel" (pun intended).

I don't see such urgency for multithreading in GC; the program is very fast (actually much faster than WorldMachine 2: CG can do a whole 2k x 2k terrain generation in the time WM2 does a single erosion!). Another factor is that GC lower resolution builds are a reliable preview of higher resolution ones, so model your terrain at 512 x 512 or 1k x 1k and then generate the 2k or 4k terrain while you are making yourself a cup of coffe...

Bye!!!

dballesg
11.July2008, 18:31
In the past, Cajomi has dropped vague hints about the algorithms used in GeoControl and in no case they looked anything even remotely parallelizable. I think that the only really parallelizable part would be generating the different layers in a multilayer project. Remember also that this means that memory consumption grows in "parallel" (pun intended).

I don't see such urgency for multithreading in GC; the program is very fast (actually much faster than WorldMachine 2: CG can do a whole 2k x 2k terrain generation in the time WM2 does a single erosion!). Another factor is that GC lower resolution builds are a reliable preview of higher resolution ones, so model your terrain at 512 x 512 or 1k x 1k and then generate the 2k or 4k terrain while you are making yourself a cup of coffe...

Bye!!!

Hi thanks for the explanation, but I was talking more about a kinda of 2D KDTree space partitioning multi threaded! :)

And thank you very much for the tip to generate the terrain a lower res! :)

I had a Quad Core with 8GB and it is not slow, but NEVER is fast enough!!! :)

David

cajomi
12.July2008, 09:06
It is possible, but at the moment not realisable. Will come back on it in a few weeks.

dballesg
12.July2008, 14:10
It is possible, but at the moment not realisable. Will come back on it in a few weeks.

Oh thanks for the answer! :)

David