Skip to content

Commit 0a4ce78

Browse files
authored
common : Changed tuple to struct (TODO fix) (ggml-org#8823)
* common : Changed tuple to struct (TODO fix) Use struct `llama_init_result` to replace the previous std::tuple<struct llama_model *, struct llama_context *> * delete llama_init_default_params() * delete the extra whitespace
1 parent bc0f887 commit 0a4ce78

File tree

18 files changed

+82
-59
lines changed

18 files changed

+82
-59
lines changed

common/common.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2039,8 +2039,8 @@ std::string fs_get_cache_file(const std::string & filename) {
20392039
//
20402040
// Model utils
20412041
//
2042-
2043-
std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_params(gpt_params & params) {
2042+
struct llama_init_result llama_init_from_gpt_params(gpt_params & params) {
2043+
llama_init_result iparams;
20442044
auto mparams = llama_model_params_from_gpt_params(params);
20452045

20462046
llama_model * model = nullptr;
@@ -2055,7 +2055,7 @@ std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_par
20552055

20562056
if (model == NULL) {
20572057
fprintf(stderr, "%s: error: failed to load model '%s'\n", __func__, params.model.c_str());
2058-
return std::make_tuple(nullptr, nullptr);
2058+
return iparams;
20592059
}
20602060

20612061
auto cparams = llama_context_params_from_gpt_params(params);
@@ -2064,7 +2064,7 @@ std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_par
20642064
if (lctx == NULL) {
20652065
fprintf(stderr, "%s: error: failed to create context with model '%s'\n", __func__, params.model.c_str());
20662066
llama_free_model(model);
2067-
return std::make_tuple(nullptr, nullptr);
2067+
return iparams;
20682068
}
20692069

20702070
if (!params.control_vectors.empty()) {
@@ -2075,7 +2075,7 @@ std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_par
20752075
if (cvec.n_embd == -1) {
20762076
llama_free(lctx);
20772077
llama_free_model(model);
2078-
return std::make_tuple(nullptr, nullptr);
2078+
return iparams;
20792079
}
20802080

20812081
int err = llama_control_vector_apply(lctx,
@@ -2087,7 +2087,7 @@ std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_par
20872087
if (err) {
20882088
llama_free(lctx);
20892089
llama_free_model(model);
2090-
return std::make_tuple(nullptr, nullptr);
2090+
return iparams;
20912091
}
20922092
}
20932093

@@ -2099,7 +2099,7 @@ std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_par
20992099
fprintf(stderr, "%s: error: failed to apply lora adapter\n", __func__);
21002100
llama_free(lctx);
21012101
llama_free_model(model);
2102-
return std::make_tuple(nullptr, nullptr);
2102+
return iparams;
21032103
}
21042104
llama_lora_adapter_set(lctx, adapter, lora_scale);
21052105
}
@@ -2135,7 +2135,9 @@ std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_par
21352135
llama_reset_timings(lctx);
21362136
}
21372137

2138-
return std::make_tuple(model, lctx);
2138+
iparams.model = model;
2139+
iparams.context = lctx;
2140+
return iparams;
21392141
}
21402142

21412143
struct llama_model_params llama_model_params_from_gpt_params(const gpt_params & params) {

common/common.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,8 +308,12 @@ std::string fs_get_cache_file(const std::string & filename);
308308
// Model utils
309309
//
310310

311-
// TODO: avoid tuplue, use struct
312-
std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_params(gpt_params & params);
311+
struct llama_init_result {
312+
struct llama_model * model = nullptr;
313+
struct llama_context * context = nullptr;
314+
};
315+
316+
struct llama_init_result llama_init_from_gpt_params(gpt_params & params);
313317

314318
struct llama_model_params llama_model_params_from_gpt_params (const gpt_params & params);
315319
struct llama_context_params llama_context_params_from_gpt_params(const gpt_params & params);

examples/cvector-generator/cvector-generator.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -414,9 +414,10 @@ int main(int argc, char ** argv) {
414414
llama_numa_init(params.numa);
415415

416416
// load the model to get hparams
417-
llama_model * model;
418-
llama_context * ctx;
419-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
417+
llama_init_result llama_init = llama_init_from_gpt_params(params);
418+
419+
llama_model * model = llama_init.model;
420+
llama_context * ctx = llama_init.context;
420421

421422
// int n_ctx = llama_n_ctx(ctx);
422423
int n_layers = llama_n_layer(model);

examples/embedding/embedding.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ int main(int argc, char ** argv) {
7979
llama_backend_init();
8080
llama_numa_init(params.numa);
8181

82-
llama_model * model;
83-
llama_context * ctx;
84-
8582
// load the model
86-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
83+
llama_init_result llama_init = llama_init_from_gpt_params(params);
84+
85+
llama_model * model = llama_init.model;
86+
llama_context * ctx = llama_init.context;
8787
if (model == NULL) {
8888
fprintf(stderr, "%s: error: unable to load model\n", __func__);
8989
return 1;

examples/eval-callback/eval-callback.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,10 @@ int main(int argc, char ** argv) {
163163
params.warmup = false;
164164

165165
// init
166-
llama_model * model;
167-
llama_context * ctx;
168-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
166+
llama_init_result llama_init = llama_init_from_gpt_params(params);
167+
168+
llama_model * model = llama_init.model;
169+
llama_context * ctx = llama_init.context;
169170
if (model == nullptr || ctx == nullptr) {
170171
fprintf(stderr, "%s : failed to init\n", __func__);
171172
return 1;

examples/imatrix/imatrix.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -611,10 +611,10 @@ int main(int argc, char ** argv) {
611611
params.warmup = false;
612612

613613
// init
614-
llama_model * model;
615-
llama_context * ctx;
614+
llama_init_result llama_init = llama_init_from_gpt_params(params);
616615

617-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
616+
llama_model * model = llama_init.model;
617+
llama_context * ctx = llama_init.context;
618618
if (model == nullptr || ctx == nullptr) {
619619
fprintf(stderr, "%s : failed to init\n", __func__);
620620
return 1;

examples/infill/infill.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,10 @@ int main(int argc, char ** argv) {
179179

180180
// load the model and apply lora adapter, if any
181181
LOG("%s: load the model and apply lora adapter, if any\n", __func__);
182-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
182+
llama_init_result llama_init = llama_init_from_gpt_params(params);
183+
184+
model = llama_init.model;
185+
ctx = llama_init.context;
183186

184187
if (model == NULL) {
185188
LOG_TEE("%s: error: unable to load model\n", __func__);

examples/lookahead/lookahead.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,11 @@ int main(int argc, char ** argv) {
5858
llama_backend_init();
5959
llama_numa_init(params.numa);
6060

61-
llama_model * model = NULL;
62-
llama_context * ctx = NULL;
63-
6461
// load the target model
65-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
62+
llama_init_result llama_init = llama_init_from_gpt_params(params);
63+
64+
llama_model * model = llama_init.model;
65+
llama_context * ctx = llama_init.context;
6666

6767
// Tokenize the prompt
6868
std::vector<llama_token> inp;

examples/lookup/lookup-create.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ int main(int argc, char ** argv){
2222
llama_backend_init();
2323
llama_numa_init(params.numa);
2424

25-
llama_model * model = NULL;
26-
llama_context * ctx = NULL;
27-
2825
// load the model
29-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
26+
llama_init_result llama_init = llama_init_from_gpt_params(params);
27+
28+
llama_model * model = llama_init.model;
29+
llama_context * ctx = llama_init.context;
3030
GGML_ASSERT(model != nullptr);
3131

3232
// tokenize the prompt

examples/lookup/lookup-stats.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ int main(int argc, char ** argv){
2626
llama_backend_init();
2727
llama_numa_init(params.numa);
2828

29-
llama_model * model = NULL;
30-
llama_context * ctx = NULL;
31-
3229
// load the model
33-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
30+
llama_init_result llama_init = llama_init_from_gpt_params(params);
31+
32+
llama_model * model = llama_init.model;
33+
llama_context * ctx = llama_init.context;
3434

3535
// tokenize the prompt
3636
std::vector<llama_token> inp;

0 commit comments

Comments
 (0)