diff --git a/driver/others/memory.c b/driver/others/memory.c index 0185fa683..8e601099c 100644 --- a/driver/others/memory.c +++ b/driver/others/memory.c @@ -246,6 +246,14 @@ int get_num_procs(void) { #endif if (!nums) nums = sysconf(_SC_NPROCESSORS_CONF); + +#if defined(USE_OPENMP) +#if _OPENMP >= 201511 + nums = omp_get_num_places(); +#endif + return nums; +#endif + #if !defined(OS_LINUX) return nums; #endif @@ -1806,10 +1814,19 @@ int get_num_procs(void) { #endif if (!nums) nums = sysconf(_SC_NPROCESSORS_CONF); + +#if defined(USE_OPENMP) +/* if (omp_get_proc_bind() != omp_proc_bind_false) */ +#if _OPENMP >= 201511 + nums = omp_get_num_places(); +#endif + return nums; +#endif + #if !defined(OS_LINUX) return nums; #endif - + #if !defined(__GLIBC_PREREQ) return nums; #else