[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