refactor : switch to emplace_back to avoid extra object (#5291)

This commit is contained in:
Michael Klimenko 2024-02-03 12:23:37 +01:00 committed by GitHub
parent 1ec3332ade
commit 52bb63c708
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 36 additions and 36 deletions

View File

@ -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;
} }

View File

@ -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) {

View File

@ -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

View File

@ -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;
} }

View File

@ -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;

View File

@ -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]);
} }

View File

@ -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;
} }

View File

@ -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);