Issue 19577 - std.parallelism unable to use more than 64 cores
Summary: std.parallelism unable to use more than 64 cores
Status: NEW
Alias: None
Product: D
Classification: Unclassified
Component: phobos (show other issues)
Version: D2
Hardware: x86_64 Windows
: P4 enhancement
Assignee: No Owner
URL: http://dlang.org/phobos/
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-11 19:56 UTC by crayolist
Modified: 2024-12-01 16:34 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description crayolist 2019-01-11 19:56:42 UTC
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.
Comment 1 dlangBugzillaToGithub 2024-12-01 16:34:45 UTC
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/phobos/issues/10365

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB