std.parallelism: Request for Review

Daniel Gibson metalcaedes at gmail.com
Mon Feb 28 01:52:56 PST 2011


Am 28.02.2011 10:41, schrieb Don:
> Russel Winder wrote:
>> David,
>>
>> On Sun, 2011-02-27 at 10:40 -0500, dsimcha wrote:
>>
>>> I realized the obvious kludge and "fixed" this. Now, all benchmarks
>>> take a --nCpu command line argument that allows you to set the number
>>> of cores manually. This is an absolute must if running on 64. If you
>>> don't set this, the default is whatever core.cpuid.coresPerCPU
>>> returns, and on 64 bit this will always be 1.
>>
>> I agree it is sad to have had to do this, core.cpuid.coresPerCPU should
>> be fixed and fixed asap.
>
> As the name says, it is * cores per CPU *. That is _not_ the same as the
> total number of cores in the machine.
> The documentation probably doesn't state that strongly enough, but
> currently there is no known bug in the implementation of
> core.cpuid.coresPerCPU.
>
> It's an OS issue, anyway: just because a machine has 64 cores, is no
> guarantee that it will give you access to all of them. std.parallelism
> shouldn't be using core.cpuid for that purpose.

Having a platform-independent way (=> core.cpuid.availableCores wrapping 
whatever is necessary on specific platforms) to get the number of 
available cores would probably a useful addition.

Cheers,
- Daniel


More information about the Digitalmars-d mailing list