Browse Source

add openblas_getaffinity()

tags/v0.3.21
Martin Kroeker GitHub 4 years ago
parent
commit
30473b6a9d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 0 deletions
  1. +14
    -0
      driver/others/blas_server.c

+ 14
- 0
driver/others/blas_server.c View File

@@ -352,6 +352,20 @@ int openblas_setaffinity(int thread_idx, size_t cpusetsize, cpu_set_t* cpu_set)

return pthread_setaffinity_np(thread, cpusetsize, cpu_set);
}
int openblas_getaffinity(int thread_idx, size_t cpusetsize, cpu_set_t* cpu_set) {
const int active_threads = openblas_get_num_threads();

if (thread_idx < 0 || thread_idx >= active_threads) {
errno = EINVAL;
return -1;
}

pthread_t thread = (thread_idx == active_threads - 1)
? pthread_self()
: blas_threads[thread_idx];

return pthread_getaffinity_np(thread, cpusetsize, cpu_set);
}
#endif

static void* blas_thread_server(void *arg){


Loading…
Cancel
Save