[fpc-pascal] number of cpu cores
Jonas Maebe
jonas.maebe at elis.ugent.be
Sun Nov 30 18:28:53 CET 2008
On 30 Nov 2008, at 18:15, Florian Klaempfl wrote:
> Mattias Gaertner schrieb:
>> I need a default value of the number of maximum threads.
>> Is there already some RTL function that can be used for that?
>>
>> For example if the program runs on a 2 x quad core it would be nice
>> to
>> get 8.
>> Hyperthreading multipliers should be applied.
>
> If we implement something like this, I propose we do it properly.
> There
> are different numbers important:
> - numa nodes
> - physical cpus
> - cache sharing cores
> - logical/execution unit sharing cores
- Completely different kinds of cores, e.g., on the Cell you have a
"hyper-threaded" ppc64 and 6 to 8 available SPU vector processors.
- And then there's stuff like CUDA (and its Open* variant) coming up,
of course.
> Which one are considered important?
I personally don't think it's possible to generally deal with this at
the application level, there's too much variety and complexity. It's
also only going to get worse in the future, as reconfigurable
computing is a very hot topic. And so are heterogenous multicores, and
not just the Cell way; e.g. different cores implementing the same ISA,
but with different pipeline and functional unit designs so they are
all better suited at different kinds of tasks/threads (and simulations
indicate that such designs give much better overall power/performance
than the current crop of homogeneous multi-core desktop & server cpus
if you use some fairly simple performance counter based heuristics in
your scheduler).
Jonas
More information about the fpc-pascal
mailing list