From 9bdce81c9c59d46270d7957bfab3d8288a87a0d2 Mon Sep 17 00:00:00 2001 From: xyb Date: Sat, 16 Dec 2023 09:34:24 -0800 Subject: [PATCH] Support more than 64 cores in WSL2. --- .gitignore | 1 + CMakeLists.txt | 5 + README.md | 19 ++ img/use.more.than.64.cores.png | Bin 0 -> 137650 bytes src/computecore.cpp | 311 +++++++++++++++++++++++++++++++++ 5 files changed, 336 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 img/use.more.than.64.cores.png create mode 100644 src/computecore.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d163863 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..6eb545a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,5 @@ +set(CMAKE_CXX_STANDARD 20) + +add_library(computecore SHARED + src/computecore.cpp +) diff --git a/README.md b/README.md new file mode 100644 index 0000000..1c4e5e2 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +## Support more than 64 cores + +If you want to use more than 64 cores in WSL2 (e.g. if you have AMD Threadripper 7980x), you can follow the steps: + +1. Generate project + + mkdir build + cd build + cmake .. + +1. Open `build/Project.sln` and generate a x64 release build. + +1. Launch task manager, kill `wslservice.exe` process. + +1. Copy the generated `build/Release/computecore.dll` to `C:\Program Files\WSL\`. + +1. Launch any WSL2 distribution, type `nproc` or `lscpu`, you should see all cores. + + ![use more than 64 cores in WSL2](img/use.more.than.64.cores.png) \ No newline at end of file diff --git a/img/use.more.than.64.cores.png b/img/use.more.than.64.cores.png new file mode 100644 index 0000000000000000000000000000000000000000..cf70c88c184bf19b744b6e5258174ae30a394df3 GIT binary patch literal 137650 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�=Ne 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 literal 0 HcmV?d00001 diff --git a/src/computecore.cpp b/src/computecore.cpp new file mode 100644 index 0000000..6f42e71 --- /dev/null +++ b/src/computecore.cpp @@ -0,0 +1,311 @@ +#include +#include +#include +#include + +#include +#include + +static HMODULE g_hComputenetwork; + +// Hook up all apis used by wslservice.exe in computecore.dll. +#define HookApis() \ + HookApi(HcsCloseComputeSystem); \ + HookApi(HcsCloseOperation); \ + HookApi(HcsCreateComputeSystem); \ + HookApi(HcsCreateOperation); \ + HookApi(HcsGetComputeSystemProperties); \ + HookApi(HcsGetServiceProperties); \ + HookApi(HcsGrantVmAccess); \ + HookApi(HcsModifyComputeSystem); \ + HookApi(HcsOpenComputeSystem); \ + HookApi(HcsRevokeVmAccess); \ + HookApi(HcsSetComputeSystemCallback); \ + HookApi(HcsStartComputeSystem); \ + HookApi(HcsTerminateComputeSystem); \ + HookApi(HcsWaitForOperationResult); \ + +#define HookApi(api) \ + decltype(&api) g_##api; + + HookApis() + +#undef HookApi + +// Helper function to replace substring. +static void Replace(std::wstring& str, const std::wstring& from, const std::wstring& to) { + auto start_pos = str.find(from); + if (start_pos != std::string::npos) { + str.replace(start_pos, from.length(), to); + } +} + +// Helper function to get all logic processors cross all cpu groups. +static uint32_t GetLogicCores() +{ + // GetLogicalProcessorInformationEx should return false, and GetLastError() should return ERROR_INSUFFICIENT_BUFFER + DWORD length = 0; + if (GetLogicalProcessorInformationEx(RelationProcessorCore, nullptr, &length) || + GetLastError() != ERROR_INSUFFICIENT_BUFFER) { + return 0; + } + + // Get the processor information. + auto pBuffer = std::unique_ptr((uint8_t*)malloc(length), free); + if (!GetLogicalProcessorInformationEx(RelationProcessorCore, (SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX*)pBuffer.get(), &length)) { + return 0; + } + + // Enumrate all processors. + auto totalLogicProcessors = 0u; + auto pCurrent = (SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX*)nullptr; + for (auto offset = 0u; offset < length; offset += pCurrent->Size) { + pCurrent = (SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX*)(pBuffer.get() + offset); + for (auto i = 0u; i < pCurrent->Processor.GroupCount; ++i) { + totalLogicProcessors += (uint32_t)std::bitsetProcessor.GroupMask[i].Mask) * 8>{pCurrent->Processor.GroupMask[i].Mask}.count(); + } + } + return totalLogicProcessors; +} + +extern "C" { + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + { + // Get system folder, should be c:\\windows\\system32. + auto len = GetSystemDirectoryA(nullptr, 0); + if (!len) { + return false; + } + + std::vector path; + path.resize(len); + if (!GetSystemDirectoryA(path.data(), (UINT)path.size())) { + return false; + } + + // Get computecore.dll path, assume it should be under c:\\windows\\system32\\computecore.dll. + auto systemPath = std::filesystem::path{ path.data() } / "computecore.dll"; + if (!(g_hComputenetwork = LoadLibraryA(systemPath.string().c_str()))) { + return false; + } + +#define HookApi(api) \ + if (!(g_##api = (decltype(&api))GetProcAddress(g_hComputenetwork, #api))) { \ + return false; \ + } + + HookApis() + +#undef HookApi + } + break; + + + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + if (g_hComputenetwork) { + FreeLibrary(g_hComputenetwork); + } + break; + } + return TRUE; +} + +#pragma comment(linker, "/export:HcsCloseComputeSystem") +void +WINAPI +HcsCloseComputeSystem( + _In_ _Post_invalid_ HCS_SYSTEM computeSystem +) +{ + return g_HcsCloseComputeSystem(computeSystem); +} + +#pragma comment(linker, "/export:HcsCloseOperation") +void +WINAPI +HcsCloseOperation( + _In_ HCS_OPERATION operation +) +{ + return g_HcsCloseOperation(operation); +} + +#pragma comment(linker, "/export:HcsCreateComputeSystem") +HRESULT +WINAPI +HcsCreateComputeSystem( + _In_ PCWSTR id, + _In_ PCWSTR configuration, + _In_ HCS_OPERATION operation, + _In_opt_ const SECURITY_DESCRIPTOR* securityDescriptor, + _Out_ HCS_SYSTEM* computeSystem +) +{ + // GetSystemInfo() only returns the number of cores in the current cpu group. + // In windows, the max number of cores in a single cpu group is 64. So the number + // of dwNumberOfProcessors in SYSTEM_INFO won't bigger than 64. For this case, we + // invoke GetLogicCores() to get the total cpu cores crossing all cpu groups. + SYSTEM_INFO sysInfo{}; + GetSystemInfo(&sysInfo); + + auto logicCores = GetLogicCores(); + if (logicCores > 64 && sysInfo.dwNumberOfProcessors < logicCores) + { + auto config = std::wstring{ configuration }; + Replace(config, std::format(L"nr_cpus={}", sysInfo.dwNumberOfProcessors), std::format(L"nr_cpus={}", logicCores)); + Replace(config, std::format(L"\"Count\":{}", sysInfo.dwNumberOfProcessors), std::format(L"\"Count\":{}", logicCores)); + return g_HcsCreateComputeSystem(id, config.c_str(), operation, securityDescriptor, computeSystem); + } + else + { + return g_HcsCreateComputeSystem(id, configuration, operation, securityDescriptor, computeSystem); + } +} + +#pragma comment(linker, "/export:HcsCreateOperation") +HCS_OPERATION +WINAPI +HcsCreateOperation( + _In_opt_ const void* context, + _In_opt_ HCS_OPERATION_COMPLETION callback +) +{ + return g_HcsCreateOperation(context, callback); +} + +#pragma comment(linker, "/export:HcsGetComputeSystemProperties") +HRESULT +WINAPI +HcsGetComputeSystemProperties( + _In_ HCS_SYSTEM computeSystem, + _In_ HCS_OPERATION operation, + _In_opt_ PCWSTR propertyQuery +) +{ + return g_HcsGetComputeSystemProperties(computeSystem, operation, propertyQuery); +} + +#pragma comment(linker, "/export:HcsGetServiceProperties") +HRESULT +WINAPI +HcsGetServiceProperties( + _In_opt_ PCWSTR propertyQuery, + _Outptr_ PWSTR* result +) +{ + return g_HcsGetServiceProperties(propertyQuery, result); +} + +#pragma comment(linker, "/export:HcsGrantVmAccess") +HRESULT +WINAPI +HcsGrantVmAccess( + _In_ PCWSTR vmId, + _In_ PCWSTR filePath +) +{ + return g_HcsGrantVmAccess(vmId, filePath); +} + +#pragma comment(linker, "/export:HcsModifyComputeSystem") +HRESULT +WINAPI +HcsModifyComputeSystem( + _In_ HCS_SYSTEM computeSystem, + _In_ HCS_OPERATION operation, + _In_ PCWSTR configuration, + _In_opt_ HANDLE identity +) +{ + return g_HcsModifyComputeSystem(computeSystem, operation, configuration, identity); +} + +#pragma comment(linker, "/export:HcsOpenComputeSystem") +HRESULT +WINAPI +HcsOpenComputeSystem( + _In_ PCWSTR id, + _In_ DWORD requestedAccess, + _Out_ HCS_SYSTEM* computeSystem +) +{ + return g_HcsOpenComputeSystem(id, requestedAccess, computeSystem); +} + +#pragma comment(linker, "/export:HcsRevokeVmAccess") +HRESULT +WINAPI +HcsRevokeVmAccess( + _In_ PCWSTR vmId, + _In_ PCWSTR filePath +) +{ + return g_HcsRevokeVmAccess(vmId, filePath); +} + +#pragma comment(linker, "/export:HcsSetComputeSystemCallback") +HRESULT +WINAPI +HcsSetComputeSystemCallback( + _In_ HCS_SYSTEM computeSystem, + _In_ HCS_EVENT_OPTIONS callbackOptions, + _In_opt_ const void* context, + _In_ HCS_EVENT_CALLBACK callback +) +{ + return g_HcsSetComputeSystemCallback(computeSystem, callbackOptions, context, callback); +} + +#pragma comment(linker, "/export:HcsStartComputeSystem") +HRESULT +WINAPI +HcsStartComputeSystem( + _In_ HCS_SYSTEM computeSystem, + _In_ HCS_OPERATION operation, + _In_opt_ PCWSTR options +) +{ + return g_HcsStartComputeSystem(computeSystem, operation, options); +} + +#pragma comment(linker, "/export:HcsTerminateComputeSystem") +HRESULT +WINAPI +HcsTerminateComputeSystem( + _In_ HCS_SYSTEM computeSystem, + _In_ HCS_OPERATION operation, + _In_opt_ PCWSTR options +) +{ + return g_HcsTerminateComputeSystem(computeSystem, operation, options); +} + +#pragma comment(linker, "/export:HcsWaitForOperationResult") +HRESULT +WINAPI +HcsWaitForOperationResult( + _In_ HCS_OPERATION operation, + _In_ DWORD timeoutMs, + _Outptr_opt_ PWSTR* resultDocument +) +{ + return g_HcsWaitForOperationResult(operation, timeoutMs, resultDocument); +} + +}