mirror of
https://github.com/RYDE-WORK/ktransformers.git
synced 2026-01-19 12:43:16 +08:00
fix numa cpu distribution
The numa node location would be calculated based on the total number of worker threads. So we should always use the actual number of threads instead of using a min() op.
This commit is contained in:
parent
99f6e42113
commit
b2bff17775
@ -54,7 +54,12 @@ void Backend::do_work_stealing_job(int task_num,
|
||||
init_func_ = init_func;
|
||||
compute_func_ = compute_func;
|
||||
finalize_func_ = finalize_func;
|
||||
#ifdef USE_NUMA
|
||||
// numa node location will be calculated based on the number of threads
|
||||
thread_num_ = max_thread_num_;
|
||||
#else
|
||||
thread_num_ = std::min(max_thread_num_, task_num);
|
||||
#endif
|
||||
int base = task_num / thread_num_;
|
||||
int remain = task_num % thread_num_;
|
||||
thread_state_[0].end = base + (0 < remain);
|
||||
@ -146,4 +151,4 @@ void Backend::worker_thread(int thread_id) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user