threadpool: use _new and _free instead of _create and _release

This commit is contained in:
Max Krasnyansky 2024-08-28 21:34:16 -07:00
parent cae35b9fb9
commit c49d634071
4 changed files with 15 additions and 15 deletions

View file

@ -1531,7 +1531,7 @@ int main(int argc, char ** argv) {
tpp.poll = t.poll; tpp.poll = t.poll;
tpp.prio = params.prio; tpp.prio = params.prio;
struct ggml_threadpool* threadpool = ggml_threadpool_create(&tpp); struct ggml_threadpool* threadpool = ggml_threadpool_new(&tpp);
if (!threadpool) { if (!threadpool) {
LOG_TEE("%s: threadpool create failed : n_threads %d\n", __func__, tpp.n_threads); LOG_TEE("%s: threadpool create failed : n_threads %d\n", __func__, tpp.n_threads);
exit(1); exit(1);
@ -1578,7 +1578,7 @@ int main(int argc, char ** argv) {
llama_free(ctx); llama_free(ctx);
ggml_threadpool_release(threadpool); ggml_threadpool_free(threadpool);
} }
llama_free_model(lmodel); llama_free_model(lmodel);

View file

@ -234,7 +234,7 @@ int main(int argc, char ** argv) {
struct ggml_threadpool * threadpool_batch = NULL; struct ggml_threadpool * threadpool_batch = NULL;
if (!ggml_threadpool_params_match(&tpp, &tpp_batch)) { if (!ggml_threadpool_params_match(&tpp, &tpp_batch)) {
threadpool_batch = ggml_threadpool_create(&tpp_batch); threadpool_batch = ggml_threadpool_new(&tpp_batch);
if (!threadpool_batch) { if (!threadpool_batch) {
LOG_TEE("%s: batch threadpool create failed : n_threads %d\n", __func__, tpp_batch.n_threads); LOG_TEE("%s: batch threadpool create failed : n_threads %d\n", __func__, tpp_batch.n_threads);
exit(1); exit(1);
@ -244,7 +244,7 @@ int main(int argc, char ** argv) {
tpp.paused = true; tpp.paused = true;
} }
struct ggml_threadpool * threadpool = ggml_threadpool_create(&tpp); struct ggml_threadpool * threadpool = ggml_threadpool_new(&tpp);
if (!threadpool) { if (!threadpool) {
LOG_TEE("%s: threadpool create failed : n_threads %d\n", __func__, tpp.n_threads); LOG_TEE("%s: threadpool create failed : n_threads %d\n", __func__, tpp.n_threads);
exit(1); exit(1);
@ -1023,8 +1023,8 @@ int main(int argc, char ** argv) {
llama_sampling_free(ctx_sampling); llama_sampling_free(ctx_sampling);
llama_backend_free(); llama_backend_free();
ggml_threadpool_release(threadpool); ggml_threadpool_free(threadpool);
ggml_threadpool_release(threadpool_batch); ggml_threadpool_free(threadpool_batch);
#ifndef LOG_DISABLE_LOGS #ifndef LOG_DISABLE_LOGS
LOG_TEE("Log end\n"); LOG_TEE("Log end\n");

View file

@ -2037,10 +2037,10 @@ extern "C" {
GGML_API size_t ggml_graph_overhead_custom(size_t size, bool grads); GGML_API size_t ggml_graph_overhead_custom(size_t size, bool grads);
GGML_API struct ggml_threadpool_params ggml_threadpool_params_default(int n_threads); GGML_API struct ggml_threadpool_params ggml_threadpool_params_default(int n_threads);
GGML_API void ggml_threadpool_params_init(struct ggml_threadpool_params *p, int n_threads); GGML_API void ggml_threadpool_params_init (struct ggml_threadpool_params *p, int n_threads);
GGML_API bool ggml_threadpool_params_match (const struct ggml_threadpool_params *p0, const struct ggml_threadpool_params *p1); GGML_API bool ggml_threadpool_params_match (const struct ggml_threadpool_params *p0, const struct ggml_threadpool_params *p1);
GGML_API struct ggml_threadpool* ggml_threadpool_create (struct ggml_threadpool_params * params); GGML_API struct ggml_threadpool* ggml_threadpool_new (struct ggml_threadpool_params * params);
GGML_API void ggml_threadpool_release (struct ggml_threadpool * threadpool); GGML_API void ggml_threadpool_free (struct ggml_threadpool * threadpool);
GGML_API int ggml_threadpool_get_n_threads(struct ggml_threadpool * threadpool); GGML_API int ggml_threadpool_get_n_threads(struct ggml_threadpool * threadpool);
GGML_API void ggml_threadpool_pause (struct ggml_threadpool * threadpool); GGML_API void ggml_threadpool_pause (struct ggml_threadpool * threadpool);
GGML_API void ggml_threadpool_resume (struct ggml_threadpool * threadpool); GGML_API void ggml_threadpool_resume (struct ggml_threadpool * threadpool);

View file

@ -18837,7 +18837,7 @@ static void ggml_thread_cpumask_next(const bool * global_mask, bool * local_mask
} }
} }
void ggml_threadpool_release(struct ggml_threadpool* threadpool) { void ggml_threadpool_free(struct ggml_threadpool* threadpool) {
if (!threadpool) return; if (!threadpool) return;
#ifndef GGML_USE_OPENMP #ifndef GGML_USE_OPENMP
@ -19254,7 +19254,7 @@ bool ggml_threadpool_params_match(const struct ggml_threadpool_params * p0, cons
return memcmp(p0->cpumask, p1->cpumask, GGML_MAX_N_THREADS) == 0; return memcmp(p0->cpumask, p1->cpumask, GGML_MAX_N_THREADS) == 0;
} }
static struct ggml_threadpool * ggml_threadpool_create_impl( static struct ggml_threadpool * ggml_threadpool_new_impl(
struct ggml_threadpool_params * tpp, struct ggml_threadpool_params * tpp,
struct ggml_cgraph * cgraph, struct ggml_cgraph * cgraph,
struct ggml_cplan * cplan) { struct ggml_cplan * cplan) {
@ -19320,8 +19320,8 @@ static struct ggml_threadpool * ggml_threadpool_create_impl(
return threadpool; return threadpool;
} }
struct ggml_threadpool * ggml_threadpool_create(struct ggml_threadpool_params * tpp) { struct ggml_threadpool * ggml_threadpool_new(struct ggml_threadpool_params * tpp) {
return ggml_threadpool_create_impl(tpp, NULL, NULL); return ggml_threadpool_new_impl(tpp, NULL, NULL);
} }
enum ggml_status ggml_graph_compute(struct ggml_cgraph * cgraph, struct ggml_cplan * cplan) { enum ggml_status ggml_graph_compute(struct ggml_cgraph * cgraph, struct ggml_cplan * cplan) {
@ -19339,7 +19339,7 @@ enum ggml_status ggml_graph_compute(struct ggml_cgraph * cgraph, struct ggml_cpl
disposable_threadpool = true; disposable_threadpool = true;
struct ggml_threadpool_params ttp = ggml_threadpool_params_default(n_threads); struct ggml_threadpool_params ttp = ggml_threadpool_params_default(n_threads);
threadpool = ggml_threadpool_create_impl(&ttp, cgraph, cplan); threadpool = ggml_threadpool_new_impl(&ttp, cgraph, cplan);
} else { } else {
// Reset some of the parameters that need resetting // Reset some of the parameters that need resetting
// No worker threads should be accessing the parameters below at this stage // No worker threads should be accessing the parameters below at this stage
@ -19384,7 +19384,7 @@ enum ggml_status ggml_graph_compute(struct ggml_cgraph * cgraph, struct ggml_cpl
enum ggml_status ret = threadpool->ec; enum ggml_status ret = threadpool->ec;
if (disposable_threadpool) { if (disposable_threadpool) {
ggml_threadpool_release(threadpool); ggml_threadpool_free(threadpool);
} }
return ret; return ret;