January 11, 2019 [Issue 19577] New: std.parallelism unable to use more than 64 cores | ||||
---|---|---|---|---|
| ||||
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@puremagic.com Reporter: crayolist@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. -- |
Copyright © 1999-2021 by the D Language Foundation