Open jcphill opened 4 years ago
The normal Windows APIs limit processes to processor groups of 64 logical processes. To scale beyond this CPU affinity must be set. I'm waiting to hear back if the existing +pemap option can accomplish this, but even if that is the case Charm++ should exit with a cpu oversubscription error if the user tries to use more than 64 threads per process on a Windows host without cpu affinity. Docs are at: https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups https://download.microsoft.com/download/a/d/f/adf1347d-08dc-41a4-9084-623b1194d4b2/MoreThan64proc.docx
The +pemap option does work around this issue for recent Charm++ versions using hwloc, although there are performance issues with memory allocation.
The normal Windows APIs limit processes to processor groups of 64 logical processes. To scale beyond this CPU affinity must be set. I'm waiting to hear back if the existing +pemap option can accomplish this, but even if that is the case Charm++ should exit with a cpu oversubscription error if the user tries to use more than 64 threads per process on a Windows host without cpu affinity. Docs are at: https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups https://download.microsoft.com/download/a/d/f/adf1347d-08dc-41a4-9084-623b1194d4b2/MoreThan64proc.docx