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.

Reply via email to