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

+10-8
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

+6-2
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

+4-3
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

+4-4
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

+4-3
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

+3-3
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

+4-1
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

+4-4
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

+4-4
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

+4-4
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;

examples/lookup/lookup.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ int main(int argc, char ** argv){
3434
llama_backend_init();
3535
llama_numa_init(params.numa);
3636

37-
llama_model * model = NULL;
38-
llama_context * ctx = NULL;
39-
4037
// load the model
41-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
38+
llama_init_result llama_init = llama_init_from_gpt_params(params);
39+
40+
llama_model * model = llama_init.model;
41+
llama_context * ctx = llama_init.context;
4242

4343
// tokenize the prompt
4444
std::vector<llama_token> inp;

examples/main/main.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,10 @@ int main(int argc, char ** argv) {
207207

208208
// load the model and apply lora adapter, if any
209209
LOG("%s: load the model and apply lora adapter, if any\n", __func__);
210-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
210+
llama_init_result llama_init = llama_init_from_gpt_params(params);
211+
212+
model = llama_init.model;
213+
ctx = llama_init.context;
211214
if (sparams.cfg_scale > 1.f) {
212215
struct llama_context_params lparams = llama_context_params_from_gpt_params(params);
213216
ctx_guidance = llama_new_context_with_model(model, lparams);

examples/parallel/parallel.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ int main(int argc, char ** argv) {
129129
llama_backend_init();
130130
llama_numa_init(params.numa);
131131

132-
llama_model * model = NULL;
133-
llama_context * ctx = NULL;
134-
135132
// load the target model
136-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
133+
llama_init_result llama_init = llama_init_from_gpt_params(params);
134+
135+
llama_model * model = llama_init.model;
136+
llama_context * ctx = llama_init.context;
137137

138138
// load the prompts from an external file if there are any
139139
if (params.prompt.empty()) {

examples/perplexity/perplexity.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -2018,11 +2018,11 @@ int main(int argc, char ** argv) {
20182018
llama_backend_init();
20192019
llama_numa_init(params.numa);
20202020

2021-
llama_model * model;
2022-
llama_context * ctx;
2023-
20242021
// load the model and apply lora adapter, if any
2025-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
2022+
llama_init_result llama_init = llama_init_from_gpt_params(params);
2023+
2024+
llama_model * model = llama_init.model;
2025+
llama_context * ctx = llama_init.context;
20262026
if (model == NULL) {
20272027
fprintf(stderr, "%s: error: unable to load model\n", __func__);
20282028
return 1;

examples/retrieval/retrieval.cpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,12 @@ int main(int argc, char ** argv) {
148148
llama_backend_init();
149149
llama_numa_init(params.numa);
150150

151-
llama_model * model;
152-
llama_context * ctx;
153-
154151
// load the model
155-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
152+
llama_init_result llama_init = llama_init_from_gpt_params(params);
153+
154+
llama_model * model = llama_init.model;
155+
llama_context * ctx = llama_init.context;
156+
156157
if (model == NULL) {
157158
fprintf(stderr, "%s: error: unable to load model\n", __func__);
158159
return 1;

examples/save-load-state/save-load-state.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,11 @@ int main(int argc, char ** argv) {
2828
std::string result2;
2929

3030
// init
31-
llama_model * model;
32-
llama_context * ctx;
31+
llama_init_result llama_init = llama_init_from_gpt_params(params);
32+
33+
llama_model * model = llama_init.model;
34+
llama_context * ctx = llama_init.context;
3335

34-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
3536
if (model == nullptr || ctx == nullptr) {
3637
fprintf(stderr, "%s : failed to init\n", __func__);
3738
return 1;

examples/server/server.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,10 @@ struct server_context {
677677
// dedicate one sequence to the system prompt
678678
params.n_parallel += 1;
679679

680-
std::tie(model, ctx) = llama_init_from_gpt_params(params);
680+
llama_init_result llama_init = llama_init_from_gpt_params(params);
681+
682+
model = llama_init.model;
683+
ctx = llama_init.context;
681684
params.n_parallel -= 1; // but be sneaky about it
682685
if (model == nullptr) {
683686
LOG_ERROR("unable to load model", {{"model", params.model}});

examples/speculative/speculative.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ int main(int argc, char ** argv) {
6666
llama_context * ctx_dft = NULL;
6767

6868
// load the target model
69-
std::tie(model_tgt, ctx_tgt) = llama_init_from_gpt_params(params);
69+
llama_init_result llama_init_tgt = llama_init_from_gpt_params(params);
70+
model_tgt = llama_init_tgt.model;
71+
ctx_tgt = llama_init_tgt.context;
7072

7173
// load the draft model
7274
params.model = params.model_draft;
@@ -75,7 +77,9 @@ int main(int argc, char ** argv) {
7577
params.n_threads = params.n_threads_draft;
7678
}
7779
params.n_threads_batch = params.n_threads_batch_draft;
78-
std::tie(model_dft, ctx_dft) = llama_init_from_gpt_params(params);
80+
llama_init_result llama_init_dft = llama_init_from_gpt_params(params);
81+
model_dft = llama_init_dft.model;
82+
ctx_dft = llama_init_dft.context;
7983

8084
const bool vocab_type_tgt = llama_vocab_type(model_tgt);
8185
LOG("vocab_type tgt: %d\n", vocab_type_tgt);

0 commit comments

Comments
 (0)