[Issue 19577] New: std.parallelism unable to use more than 64 cores
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jan 11 19:56:42 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=19577
Issue ID: 19577
Summary: std.parallelism unable to use more than 64 cores
Product: D
Version: D2
Hardware: x86_64
URL: http://dlang.org/phobos/
OS: Windows
Status: NEW
Severity: enhancement
Priority: P3
Component: phobos
Assignee: nobody at puremagic.com
Reporter: crayolist at gmail.com
Currently std.parallelism.totalCPUs on Windows is implemented using the system
call GetSystemInfo() which can return a maximum of 64 cores.
On a Xeon Phi 7250 system with 272 cores it is impossible to exploit all cores.
TBB (Threading building blocks) uses the Processor Groups to correctly identify
all cores, like this;
https://github.com/01org/tbb/blob/314792356bf75f4a190277536aea543b9b6b310b/src/tbb/tbb_misc_ex.cpp#L241
A Xeon Phi 7250 which has 68 cores and 4 threads per core is reported as 5
Processor Groups; 4 x 64 cores + 1 x 16 cores.
--
More information about the Digitalmars-d-bugs
mailing list