Browse Source

USE NPROCESSOR_CONF instaed of NPORCESSOR_ONLN

to determine the number of CPU. In ARM platform,
online CPU will increasing when there is more workload.
while configure cpu is the max number of CPU.
tags/v0.2.20^2
Howard Su 9 years ago
parent
commit
ff1da01476
3 changed files with 5 additions and 5 deletions
  1. +2
    -2
      driver/others/init.c
  2. +2
    -2
      driver/others/memory.c
  3. +1
    -1
      getarch.c

+ 2
- 2
driver/others/init.c View File

@@ -814,7 +814,7 @@ void gotoblas_affinity_init(void) {
#endif

//returns the number of processors which are currently online
common -> num_procs = sysconf(_SC_NPROCESSORS_ONLN);;
common -> num_procs = sysconf(_SC_NPROCESSORS_CONF);;

if(common -> num_procs > MAX_CPUS) {
fprintf(stderr, "\nOpenBLAS Warining : The number of CPU/Cores(%d) is beyond the limit(%d). Terminated.\n", common->num_procs, MAX_CPUS);
@@ -923,7 +923,7 @@ void gotoblas_set_affinity2(int threads) {};

void gotoblas_affinity_reschedule(void) {};

int get_num_procs(void) { return sysconf(_SC_NPROCESSORS_ONLN); }
int get_num_procs(void) { return sysconf(_SC_NPROCESSORS_CONF); }

int get_num_nodes(void) { return 1; }



+ 2
- 2
driver/others/memory.c View File

@@ -175,7 +175,7 @@ int get_num_procs(void);
#else
int get_num_procs(void) {
static int nums = 0;
if (!nums) nums = sysconf(_SC_NPROCESSORS_ONLN);
if (!nums) nums = sysconf(_SC_NPROCESSORS_CONF);
return nums;
}
#endif
@@ -184,7 +184,7 @@ int get_num_procs(void) {
#ifdef OS_ANDROID
int get_num_procs(void) {
static int nums = 0;
if (!nums) nums = sysconf(_SC_NPROCESSORS_ONLN);
if (!nums) nums = sysconf(_SC_NPROCESSORS_CONF);
return nums;
}
#endif


+ 1
- 1
getarch.c View File

@@ -971,7 +971,7 @@ static int get_num_cores(void) {

#if defined(linux) || defined(__sun__)
//returns the number of processors which are currently online
return sysconf(_SC_NPROCESSORS_ONLN);
return sysconf(_SC_NPROCESSORS_CONF);

#elif defined(OS_WINDOWS)



Loading…
Cancel
Save