std.parallelism: Request for Review

Don nospam at nospam.com
Mon Feb 28 01:41:41 PST 2011


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.


More information about the Digitalmars-d mailing list