在 2018/6/16 4:48, [email protected] 写道:
> Hello all,
> 
> As of right now GCC with MinGW-w64 doesn't support more than 64 logical CPUs 
> on Windows.
> I've looked into the source. In mingw-w64-libraries\winpthreads\src\thread.c 
> three is a function:
> 

> Clang (up to 5.0.2 anyway as in 6.0 OpenMP is no longer included on Windows 
> distribution) counts CPUs correctly. The code is in:
> void __kmp_affinity_entire_machine_mask(kmp_affin_mask_t *mask)
> function.
> 
> I realize there aren't many people who develop applications which meet all 
> the criteria:
> 1)developed and mainly run on Windows
> 2)in C but not under Visual Studio
> 3)performance critical and being able to use more than 32 physical cores
> 
> so that is unlikely to be a priority. I am willing to pay for the development 
> if there is some mechanism supporting it.
> 


Isn't the number of logical CPU cores the `dwNumberOfProcessors` member 
of `SYSTEM_INFO` returned by `GetNativeSystemInfo()` function? That will 
be more reliable than popcounting the affinity mask.

[1] 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724381(v=vs.85).aspx
[2] 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724958(v=vs.85).aspx

-- 
Best regards,
LH_Mouse
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to