mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-24 10:24:35 +00:00
refactor : switch to emplace_back to avoid extra object (#5291)
This commit is contained in:
parent
1ec3332ade
commit
52bb63c708
@ -515,7 +515,7 @@ bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) {
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.lora_adapter.push_back(std::make_tuple(argv[i], 1.0f));
|
params.lora_adapter.emplace_back(argv[i], 1.0f);
|
||||||
params.use_mmap = false;
|
params.use_mmap = false;
|
||||||
} else if (arg == "--lora-scaled") {
|
} else if (arg == "--lora-scaled") {
|
||||||
if (++i >= argc) {
|
if (++i >= argc) {
|
||||||
@ -527,7 +527,7 @@ bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) {
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.lora_adapter.push_back(std::make_tuple(lora_adapter, std::stof(argv[i])));
|
params.lora_adapter.emplace_back(lora_adapter, std::stof(argv[i]));
|
||||||
params.use_mmap = false;
|
params.use_mmap = false;
|
||||||
} else if (arg == "--lora-base") {
|
} else if (arg == "--lora-base") {
|
||||||
if (++i >= argc) {
|
if (++i >= argc) {
|
||||||
@ -664,7 +664,7 @@ bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) {
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.antiprompt.push_back(argv[i]);
|
params.antiprompt.emplace_back(argv[i]);
|
||||||
} else if (arg == "-ld" || arg == "--logdir") {
|
} else if (arg == "-ld" || arg == "--logdir") {
|
||||||
if (++i >= argc) {
|
if (++i >= argc) {
|
||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
@ -880,7 +880,7 @@ bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!params.kv_overrides.empty()) {
|
if (!params.kv_overrides.empty()) {
|
||||||
params.kv_overrides.emplace_back(llama_model_kv_override());
|
params.kv_overrides.emplace_back();
|
||||||
params.kv_overrides.back().key[0] = 0;
|
params.kv_overrides.back().key[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -948,46 +948,46 @@ struct markdown_printer : public printer {
|
|||||||
|
|
||||||
void print_header(const cmd_params & params) override {
|
void print_header(const cmd_params & params) override {
|
||||||
// select fields to print
|
// select fields to print
|
||||||
fields.push_back("model");
|
fields.emplace_back("model");
|
||||||
fields.push_back("size");
|
fields.emplace_back("size");
|
||||||
fields.push_back("params");
|
fields.emplace_back("params");
|
||||||
fields.push_back("backend");
|
fields.emplace_back("backend");
|
||||||
bool is_cpu_backend = test::get_backend() == "CPU" || test::get_backend() == "BLAS";
|
bool is_cpu_backend = test::get_backend() == "CPU" || test::get_backend() == "BLAS";
|
||||||
if (!is_cpu_backend) {
|
if (!is_cpu_backend) {
|
||||||
fields.push_back("n_gpu_layers");
|
fields.emplace_back("n_gpu_layers");
|
||||||
}
|
}
|
||||||
if (params.n_threads.size() > 1 || params.n_threads != cmd_params_defaults.n_threads || is_cpu_backend) {
|
if (params.n_threads.size() > 1 || params.n_threads != cmd_params_defaults.n_threads || is_cpu_backend) {
|
||||||
fields.push_back("n_threads");
|
fields.emplace_back("n_threads");
|
||||||
}
|
}
|
||||||
if (params.n_batch.size() > 1 || params.n_batch != cmd_params_defaults.n_batch) {
|
if (params.n_batch.size() > 1 || params.n_batch != cmd_params_defaults.n_batch) {
|
||||||
fields.push_back("n_batch");
|
fields.emplace_back("n_batch");
|
||||||
}
|
}
|
||||||
if (params.type_k.size() > 1 || params.type_k != cmd_params_defaults.type_k) {
|
if (params.type_k.size() > 1 || params.type_k != cmd_params_defaults.type_k) {
|
||||||
fields.push_back("type_k");
|
fields.emplace_back("type_k");
|
||||||
}
|
}
|
||||||
if (params.type_v.size() > 1 || params.type_v != cmd_params_defaults.type_v) {
|
if (params.type_v.size() > 1 || params.type_v != cmd_params_defaults.type_v) {
|
||||||
fields.push_back("type_v");
|
fields.emplace_back("type_v");
|
||||||
}
|
}
|
||||||
if (params.main_gpu.size() > 1 || params.main_gpu != cmd_params_defaults.main_gpu) {
|
if (params.main_gpu.size() > 1 || params.main_gpu != cmd_params_defaults.main_gpu) {
|
||||||
fields.push_back("main_gpu");
|
fields.emplace_back("main_gpu");
|
||||||
}
|
}
|
||||||
if (params.split_mode.size() > 1 || params.split_mode != cmd_params_defaults.split_mode) {
|
if (params.split_mode.size() > 1 || params.split_mode != cmd_params_defaults.split_mode) {
|
||||||
fields.push_back("split_mode");
|
fields.emplace_back("split_mode");
|
||||||
}
|
}
|
||||||
if (params.mul_mat_q.size() > 1 || params.mul_mat_q != cmd_params_defaults.mul_mat_q) {
|
if (params.mul_mat_q.size() > 1 || params.mul_mat_q != cmd_params_defaults.mul_mat_q) {
|
||||||
fields.push_back("mul_mat_q");
|
fields.emplace_back("mul_mat_q");
|
||||||
}
|
}
|
||||||
if (params.no_kv_offload.size() > 1 || params.no_kv_offload != cmd_params_defaults.no_kv_offload) {
|
if (params.no_kv_offload.size() > 1 || params.no_kv_offload != cmd_params_defaults.no_kv_offload) {
|
||||||
fields.push_back("no_kv_offload");
|
fields.emplace_back("no_kv_offload");
|
||||||
}
|
}
|
||||||
if (params.tensor_split.size() > 1 || params.tensor_split != cmd_params_defaults.tensor_split) {
|
if (params.tensor_split.size() > 1 || params.tensor_split != cmd_params_defaults.tensor_split) {
|
||||||
fields.push_back("tensor_split");
|
fields.emplace_back("tensor_split");
|
||||||
}
|
}
|
||||||
if (params.use_mmap.size() > 1 || params.use_mmap != cmd_params_defaults.use_mmap) {
|
if (params.use_mmap.size() > 1 || params.use_mmap != cmd_params_defaults.use_mmap) {
|
||||||
fields.push_back("use_mmap");
|
fields.emplace_back("use_mmap");
|
||||||
}
|
}
|
||||||
fields.push_back("test");
|
fields.emplace_back("test");
|
||||||
fields.push_back("t/s");
|
fields.emplace_back("t/s");
|
||||||
|
|
||||||
fprintf(fout, "|");
|
fprintf(fout, "|");
|
||||||
for (const auto & field : fields) {
|
for (const auto & field : fields) {
|
||||||
|
@ -352,12 +352,12 @@ int main(int argc, char ** argv) {
|
|||||||
// in instruct mode, we inject a prefix and a suffix to each input by the user
|
// in instruct mode, we inject a prefix and a suffix to each input by the user
|
||||||
if (params.instruct) {
|
if (params.instruct) {
|
||||||
params.interactive_first = true;
|
params.interactive_first = true;
|
||||||
params.antiprompt.push_back("### Instruction:\n\n");
|
params.antiprompt.emplace_back("### Instruction:\n\n");
|
||||||
}
|
}
|
||||||
// similar for chatml mode
|
// similar for chatml mode
|
||||||
else if (params.chatml) {
|
else if (params.chatml) {
|
||||||
params.interactive_first = true;
|
params.interactive_first = true;
|
||||||
params.antiprompt.push_back("<|im_start|>user\n");
|
params.antiprompt.emplace_back("<|im_start|>user\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// enable interactive mode if interactive start is specified
|
// enable interactive mode if interactive start is specified
|
||||||
|
@ -881,7 +881,7 @@ static void hellaswag_score(llama_context * ctx, const gpt_params & params) {
|
|||||||
size_t li = hs_cur.common_prefix;
|
size_t li = hs_cur.common_prefix;
|
||||||
for (int s = 0; s < 4; ++s) {
|
for (int s = 0; s < 4; ++s) {
|
||||||
for (size_t j = hs_cur.common_prefix; j < hs_cur.seq_tokens[s].size() - 1; j++) {
|
for (size_t j = hs_cur.common_prefix; j < hs_cur.seq_tokens[s].size() - 1; j++) {
|
||||||
eval_pairs.push_back(std::make_pair(hs_cur.i_batch + li++, hs_cur.seq_tokens[s][j + 1]));
|
eval_pairs.emplace_back(hs_cur.i_batch + li++, hs_cur.seq_tokens[s][j + 1]);
|
||||||
}
|
}
|
||||||
++li;
|
++li;
|
||||||
}
|
}
|
||||||
@ -1159,13 +1159,13 @@ static void winogrande_score(llama_context * ctx, const gpt_params & params) {
|
|||||||
const int last_1st = task.seq_tokens[0].size() - n_base1 > 1 ? 1 : 0;
|
const int last_1st = task.seq_tokens[0].size() - n_base1 > 1 ? 1 : 0;
|
||||||
size_t li = n_base1 - 1;
|
size_t li = n_base1 - 1;
|
||||||
for (size_t j = n_base1-1; j < task.seq_tokens[0].size()-1-last_1st; ++j) {
|
for (size_t j = n_base1-1; j < task.seq_tokens[0].size()-1-last_1st; ++j) {
|
||||||
eval_pairs.push_back(std::make_pair(task.i_batch + li++, task.seq_tokens[0][j+1]));
|
eval_pairs.emplace_back(task.i_batch + li++, task.seq_tokens[0][j+1]);
|
||||||
}
|
}
|
||||||
const auto& n_base2 = skip_choice ? task.n_base2 : task.common_prefix;
|
const auto& n_base2 = skip_choice ? task.n_base2 : task.common_prefix;
|
||||||
const int last_2nd = task.seq_tokens[1].size() - n_base2 > 1 ? 1 : 0;
|
const int last_2nd = task.seq_tokens[1].size() - n_base2 > 1 ? 1 : 0;
|
||||||
li = task.seq_tokens[0].size() - task.common_prefix + n_base2 - 1;
|
li = task.seq_tokens[0].size() - task.common_prefix + n_base2 - 1;
|
||||||
for (size_t j = n_base2-1; j < task.seq_tokens[1].size()-1-last_2nd; ++j) {
|
for (size_t j = n_base2-1; j < task.seq_tokens[1].size()-1-last_2nd; ++j) {
|
||||||
eval_pairs.push_back(std::make_pair(task.i_batch + li++, task.seq_tokens[1][j+1]));
|
eval_pairs.emplace_back(task.i_batch + li++, task.seq_tokens[1][j+1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
compute_logprobs(batch_logits.data(), n_vocab, workers, eval_pairs, eval_results);
|
compute_logprobs(batch_logits.data(), n_vocab, workers, eval_pairs, eval_results);
|
||||||
@ -1524,7 +1524,7 @@ static void multiple_choice_score(llama_context * ctx, const gpt_params & params
|
|||||||
size_t li = cur_task.common_prefix;
|
size_t li = cur_task.common_prefix;
|
||||||
for (int s = 0; s < int(cur_task.seq_tokens.size()); ++s) {
|
for (int s = 0; s < int(cur_task.seq_tokens.size()); ++s) {
|
||||||
for (size_t j = cur_task.common_prefix; j < cur_task.seq_tokens[s].size() - 1; j++) {
|
for (size_t j = cur_task.common_prefix; j < cur_task.seq_tokens[s].size() - 1; j++) {
|
||||||
eval_pairs.push_back(std::make_pair(cur_task.i_batch + li++, cur_task.seq_tokens[s][j + 1]));
|
eval_pairs.emplace_back(cur_task.i_batch + li++, cur_task.seq_tokens[s][j + 1]);
|
||||||
}
|
}
|
||||||
++li;
|
++li;
|
||||||
}
|
}
|
||||||
|
@ -257,13 +257,13 @@ int main(int argc, char ** argv) {
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.include_layers.push_back(argv[i]);
|
params.include_layers.emplace_back(argv[i]);
|
||||||
} else if (arg == "-L" || arg == "--exclude-layer") {
|
} else if (arg == "-L" || arg == "--exclude-layer") {
|
||||||
if (++i >= argc) {
|
if (++i >= argc) {
|
||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.exclude_layers.push_back(argv[i]);
|
params.exclude_layers.emplace_back(argv[i]);
|
||||||
} else if (arg == "-t" || arg == "--type") {
|
} else if (arg == "-t" || arg == "--type") {
|
||||||
if (++i >= argc) {
|
if (++i >= argc) {
|
||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
|
@ -208,13 +208,13 @@ int main(int argc, char ** argv) {
|
|||||||
}
|
}
|
||||||
} else if (strcmp(argv[arg_idx], "--include-weights") == 0) {
|
} else if (strcmp(argv[arg_idx], "--include-weights") == 0) {
|
||||||
if (arg_idx < argc-1) {
|
if (arg_idx < argc-1) {
|
||||||
included_weights.push_back(argv[++arg_idx]);
|
included_weights.emplace_back(argv[++arg_idx]);
|
||||||
} else {
|
} else {
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
}
|
}
|
||||||
} else if (strcmp(argv[arg_idx], "--exclude-weights") == 0) {
|
} else if (strcmp(argv[arg_idx], "--exclude-weights") == 0) {
|
||||||
if (arg_idx < argc-1) {
|
if (arg_idx < argc-1) {
|
||||||
excluded_weights.push_back(argv[++arg_idx]);
|
excluded_weights.emplace_back(argv[++arg_idx]);
|
||||||
} else {
|
} else {
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
}
|
}
|
||||||
|
@ -1884,7 +1884,7 @@ static void server_params_parse(int argc, char **argv, server_params &sparams,
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sparams.api_keys.push_back(argv[i]);
|
sparams.api_keys.emplace_back(argv[i]);
|
||||||
}
|
}
|
||||||
else if (arg == "--api-key-file")
|
else if (arg == "--api-key-file")
|
||||||
{
|
{
|
||||||
@ -2160,7 +2160,7 @@ static void server_params_parse(int argc, char **argv, server_params &sparams,
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.lora_adapter.push_back(std::make_tuple(argv[i], 1.0f));
|
params.lora_adapter.emplace_back(argv[i], 1.0f);
|
||||||
params.use_mmap = false;
|
params.use_mmap = false;
|
||||||
}
|
}
|
||||||
else if (arg == "--lora-scaled")
|
else if (arg == "--lora-scaled")
|
||||||
@ -2176,7 +2176,7 @@ static void server_params_parse(int argc, char **argv, server_params &sparams,
|
|||||||
invalid_param = true;
|
invalid_param = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
params.lora_adapter.push_back(std::make_tuple(lora_adapter, std::stof(argv[i])));
|
params.lora_adapter.emplace_back(lora_adapter, std::stof(argv[i]));
|
||||||
params.use_mmap = false;
|
params.use_mmap = false;
|
||||||
}
|
}
|
||||||
else if (arg == "--lora-base")
|
else if (arg == "--lora-base")
|
||||||
@ -2318,7 +2318,7 @@ static void server_params_parse(int argc, char **argv, server_params &sparams,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!params.kv_overrides.empty()) {
|
if (!params.kv_overrides.empty()) {
|
||||||
params.kv_overrides.emplace_back(llama_model_kv_override());
|
params.kv_overrides.emplace_back();
|
||||||
params.kv_overrides.back().key[0] = 0;
|
params.kv_overrides.back().key[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ int main()
|
|||||||
|
|
||||||
for (auto rule : expected_rules)
|
for (auto rule : expected_rules)
|
||||||
{
|
{
|
||||||
parsed_grammar.rules.push_back({});
|
parsed_grammar.rules.emplace_back();
|
||||||
for (auto element : rule)
|
for (auto element : rule)
|
||||||
{
|
{
|
||||||
parsed_grammar.rules.back().push_back(element);
|
parsed_grammar.rules.back().push_back(element);
|
||||||
|
Loading…
Reference in New Issue
Block a user