diff --git a/common/common.cpp b/common/common.cpp index ed21c4c82..4eeb33b48 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -97,7 +97,11 @@ int32_t cpu_get_num_cores_win(bool print_physical_core_num) { num_cores_win += info->Processor.GroupCount; } else { for (WORD i = 0; i < info->Processor.GroupCount; ++i) { +#ifdef _MSC_VER num_cores_win += __popcnt64(info->Processor.GroupMask[i].Mask); +#else + num_cores_win += _popcnt64(info->Processor.GroupMask[i].Mask); +#endif } } } diff --git a/common/common.h b/common/common.h index 8240ff99b..0be6b0ecc 100644 --- a/common/common.h +++ b/common/common.h @@ -44,7 +44,9 @@ struct llama_control_vector_load_info; // // CPU utils // - +#ifdef _WIN32 +int32_t cpu_get_num_cores_win(bool print_physical_core_num); +#endif int32_t cpu_get_num_physical_cores(); int32_t cpu_get_num_math();