data: publish complete Calculet NPU research archive
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
commit 1d248d956f6cbcf5fdd4169d5467678ead035fe2
|
||||
Author: wangbomeng <wangbomeng@calculet.tech>
|
||||
AuthorDate: Tue Mar 24 02:17:22 2026 +0800
|
||||
Commit: wangbomeng <wangbomeng@calculet.tech>
|
||||
CommitDate: Tue Mar 24 02:17:22 2026 +0800
|
||||
|
||||
calrt: add slice
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
diff --git a/src/llama-calrt.cpp b/src/llama-calrt.cpp
|
||||
index 5bbdd52e1f7adc96ac72945ed52eabd9e075d990..e038a4c25d5589550680bf5bb556145f1524ae17 100644
|
||||
--- a/src/llama-calrt.cpp
|
||||
+++ b/src/llama-calrt.cpp
|
||||
@@ -564,6 +564,10 @@ void calrt_context::calrt_infer(calrt_seqs_info & seqs) {
|
||||
// makeup_ubatch(ubatch);
|
||||
copy_data_to_ibuf(*pIbuf, ubatch, model_name);
|
||||
|
||||
+ //only copy promt tokens
|
||||
+ //pObuf->SliceTensorByName(pObuf->GetTensorByName("outputs[0]")->GetDataPtr(),"outputs[0]", 0, cur_seq_len * sizeof(ggml_bf16_t));
|
||||
+ pObuf->GetTensorByName("outputs[0]")->SliceTensor(0, cur_seq_len * sizeof(ggml_bf16_t));
|
||||
+
|
||||
calrt::infer(vdev, model, pIbuf.get(), pObuf.get());
|
||||
pObuf->Wait();
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
commit 294f5e41db9f2ee14fa7e511b1774c6271c7c7ec
|
||||
Author: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
AuthorDate: Mon Apr 27 11:41:25 2026 +0800
|
||||
Commit: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
CommitDate: Mon Apr 27 11:41:25 2026 +0800
|
||||
|
||||
index on (no branch): 99dd308a server: fix max_seq_len
|
||||
@@ -0,0 +1,8 @@
|
||||
commit 2a67be2e31c4b7b28fa3937893ec9e86bf5d9f4d
|
||||
Merge: 99dd308a 294f5e41
|
||||
Author: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
AuthorDate: Mon Apr 27 11:41:25 2026 +0800
|
||||
Commit: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
CommitDate: Mon Apr 27 11:41:25 2026 +0800
|
||||
|
||||
WIP on (no branch): 99dd308a server: fix max_seq_len
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
diff --git a/common/common.cpp b/common/common.cpp
|
||||
index 625b369b26a5981cc19eda5181226d916acc28ad..898d445293a51a4d1e0037f05bc83b5f773cc430 100644
|
||||
--- a/common/common.cpp
|
||||
+++ b/common/common.cpp
|
||||
@@ -1058,51 +1058,51 @@ struct common_init_result common_init_from_params(common_params & params) {
|
||||
params.sampling.dry_penalty_last_n = llama_n_ctx(lctx);
|
||||
}
|
||||
|
||||
- if (params.warmup) {
|
||||
- LOG_WRN("%s: warming up the model with an empty run - please wait ... (--no-warmup to disable)\n", __func__);
|
||||
-
|
||||
- llama_set_warmup(lctx, true);
|
||||
-
|
||||
- std::vector<llama_token> tmp;
|
||||
- llama_token bos = llama_vocab_bos(vocab);
|
||||
- llama_token eos = llama_vocab_eos(vocab);
|
||||
-
|
||||
- // some models (e.g. T5) don't have a BOS token
|
||||
- if (bos != LLAMA_TOKEN_NULL) {
|
||||
- tmp.push_back(bos);
|
||||
- }
|
||||
- if (eos != LLAMA_TOKEN_NULL) {
|
||||
- tmp.push_back(eos);
|
||||
- }
|
||||
- if (tmp.empty()) {
|
||||
- tmp.push_back(0);
|
||||
- }
|
||||
-
|
||||
- if (llama_model_has_encoder(model)) {
|
||||
- #ifdef USE_CALRT
|
||||
- //calrt_encode(cal_ctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
- #else
|
||||
- llama_encode(lctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
- #endif
|
||||
- llama_token decoder_start_token_id = llama_model_decoder_start_token(model);
|
||||
- if (decoder_start_token_id == LLAMA_TOKEN_NULL) {
|
||||
- decoder_start_token_id = bos;
|
||||
- }
|
||||
- tmp.clear();
|
||||
- tmp.push_back(decoder_start_token_id);
|
||||
- }
|
||||
- if (llama_model_has_decoder(model)) {
|
||||
- #ifdef USE_CALRT
|
||||
- calrt_decode(cal_ctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
- #else
|
||||
- llama_decode(lctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
- #endif
|
||||
- }
|
||||
- llama_memory_clear(llama_get_memory(lctx), true);
|
||||
- llama_synchronize(lctx);
|
||||
- llama_perf_context_reset(lctx);
|
||||
- llama_set_warmup(lctx, false);
|
||||
- }
|
||||
+ // if (params.warmup) {
|
||||
+ // LOG_WRN("%s: warming up the model with an empty run - please wait ... (--no-warmup to disable)\n", __func__);
|
||||
+
|
||||
+ // llama_set_warmup(lctx, true);
|
||||
+
|
||||
+ // std::vector<llama_token> tmp;
|
||||
+ // llama_token bos = llama_vocab_bos(vocab);
|
||||
+ // llama_token eos = llama_vocab_eos(vocab);
|
||||
+
|
||||
+ // // some models (e.g. T5) don't have a BOS token
|
||||
+ // if (bos != LLAMA_TOKEN_NULL) {
|
||||
+ // tmp.push_back(bos);
|
||||
+ // }
|
||||
+ // if (eos != LLAMA_TOKEN_NULL) {
|
||||
+ // tmp.push_back(eos);
|
||||
+ // }
|
||||
+ // if (tmp.empty()) {
|
||||
+ // tmp.push_back(0);
|
||||
+ // }
|
||||
+
|
||||
+ // if (llama_model_has_encoder(model)) {
|
||||
+ // #ifdef USE_CALRT
|
||||
+ // //calrt_encode(cal_ctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
+ // #else
|
||||
+ // llama_encode(lctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
+ // #endif
|
||||
+ // llama_token decoder_start_token_id = llama_model_decoder_start_token(model);
|
||||
+ // if (decoder_start_token_id == LLAMA_TOKEN_NULL) {
|
||||
+ // decoder_start_token_id = bos;
|
||||
+ // }
|
||||
+ // tmp.clear();
|
||||
+ // tmp.push_back(decoder_start_token_id);
|
||||
+ // }
|
||||
+ // if (llama_model_has_decoder(model)) {
|
||||
+ // #ifdef USE_CALRT
|
||||
+ // calrt_decode(cal_ctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
+ // #else
|
||||
+ // llama_decode(lctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
+ // #endif
|
||||
+ // }
|
||||
+ // llama_memory_clear(llama_get_memory(lctx), true);
|
||||
+ // llama_synchronize(lctx);
|
||||
+ // llama_perf_context_reset(lctx);
|
||||
+ // llama_set_warmup(lctx, false);
|
||||
+ // }
|
||||
|
||||
iparams.model.reset(model);
|
||||
iparams.context.reset(lctx);
|
||||
diff --git a/src/llama-calrt.cpp b/src/llama-calrt.cpp
|
||||
index 9f41c955b7bb36cdc4dfc0d50c5fdd76667a2373..e8dc07c6fe6282ff3d7d4e43210b3491982d10f0 100644
|
||||
--- a/src/llama-calrt.cpp
|
||||
+++ b/src/llama-calrt.cpp
|
||||
@@ -43,6 +43,16 @@ std::unique_ptr<calrt::VirtualDevice> init_calrt_vdev() {
|
||||
throw std::runtime_error("failed to create vdevice");
|
||||
}
|
||||
|
||||
+ uint64_t commitId = 0;
|
||||
+ uint32_t rdata = 0;
|
||||
+ vDev->GetDevice()->ReadReg(0x0a238254, rdata);
|
||||
+ commitId |=(((uint64_t)rdata) << 32);
|
||||
+ vDev->GetDevice()->ReadReg(0x0a238258, rdata);
|
||||
+ commitId |=((uint64_t)rdata);
|
||||
+
|
||||
+ LLAMA_LOG_INFO("CalcoreRT: =================== CalcoreRT Version: %016llx ====================\n", commitId);
|
||||
+ LLAMA_LOG_INFO("CalRT: =================== CalRT Version %s ====================\n", calrt::calrt_version());
|
||||
+
|
||||
return vDev;
|
||||
}
|
||||
|
||||
@@ -664,7 +674,7 @@ calrt::CalbinModel * calrt_context::get_model_by_name(std::string & name) {
|
||||
}
|
||||
|
||||
if (smodelName.empty()) {
|
||||
- LLAMA_LOG_ERROR("submodel who's name contains %s not found", name.c_str());
|
||||
+ //LLAMA_LOG_ERROR("submodel who's name contains %s not found", name.c_str());
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -681,7 +691,7 @@ calrt::CalbinModel * calrt_context::get_model_by_names(std::string & name1, std:
|
||||
}
|
||||
|
||||
if (smodelName.empty()) {
|
||||
- LLAMA_LOG_ERROR("submodel who's name contains %s not found", name1.c_str(), name2.c_str());
|
||||
+ //LLAMA_LOG_ERROR("submodel who's name contains %s not found", name1.c_str(), name2.c_str());
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
diff --git a/common/common.cpp b/common/common.cpp
|
||||
index 625b369b26a5981cc19eda5181226d916acc28ad..898d445293a51a4d1e0037f05bc83b5f773cc430 100644
|
||||
--- a/common/common.cpp
|
||||
+++ b/common/common.cpp
|
||||
@@ -1058,51 +1058,51 @@ struct common_init_result common_init_from_params(common_params & params) {
|
||||
params.sampling.dry_penalty_last_n = llama_n_ctx(lctx);
|
||||
}
|
||||
|
||||
- if (params.warmup) {
|
||||
- LOG_WRN("%s: warming up the model with an empty run - please wait ... (--no-warmup to disable)\n", __func__);
|
||||
-
|
||||
- llama_set_warmup(lctx, true);
|
||||
-
|
||||
- std::vector<llama_token> tmp;
|
||||
- llama_token bos = llama_vocab_bos(vocab);
|
||||
- llama_token eos = llama_vocab_eos(vocab);
|
||||
-
|
||||
- // some models (e.g. T5) don't have a BOS token
|
||||
- if (bos != LLAMA_TOKEN_NULL) {
|
||||
- tmp.push_back(bos);
|
||||
- }
|
||||
- if (eos != LLAMA_TOKEN_NULL) {
|
||||
- tmp.push_back(eos);
|
||||
- }
|
||||
- if (tmp.empty()) {
|
||||
- tmp.push_back(0);
|
||||
- }
|
||||
-
|
||||
- if (llama_model_has_encoder(model)) {
|
||||
- #ifdef USE_CALRT
|
||||
- //calrt_encode(cal_ctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
- #else
|
||||
- llama_encode(lctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
- #endif
|
||||
- llama_token decoder_start_token_id = llama_model_decoder_start_token(model);
|
||||
- if (decoder_start_token_id == LLAMA_TOKEN_NULL) {
|
||||
- decoder_start_token_id = bos;
|
||||
- }
|
||||
- tmp.clear();
|
||||
- tmp.push_back(decoder_start_token_id);
|
||||
- }
|
||||
- if (llama_model_has_decoder(model)) {
|
||||
- #ifdef USE_CALRT
|
||||
- calrt_decode(cal_ctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
- #else
|
||||
- llama_decode(lctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
- #endif
|
||||
- }
|
||||
- llama_memory_clear(llama_get_memory(lctx), true);
|
||||
- llama_synchronize(lctx);
|
||||
- llama_perf_context_reset(lctx);
|
||||
- llama_set_warmup(lctx, false);
|
||||
- }
|
||||
+ // if (params.warmup) {
|
||||
+ // LOG_WRN("%s: warming up the model with an empty run - please wait ... (--no-warmup to disable)\n", __func__);
|
||||
+
|
||||
+ // llama_set_warmup(lctx, true);
|
||||
+
|
||||
+ // std::vector<llama_token> tmp;
|
||||
+ // llama_token bos = llama_vocab_bos(vocab);
|
||||
+ // llama_token eos = llama_vocab_eos(vocab);
|
||||
+
|
||||
+ // // some models (e.g. T5) don't have a BOS token
|
||||
+ // if (bos != LLAMA_TOKEN_NULL) {
|
||||
+ // tmp.push_back(bos);
|
||||
+ // }
|
||||
+ // if (eos != LLAMA_TOKEN_NULL) {
|
||||
+ // tmp.push_back(eos);
|
||||
+ // }
|
||||
+ // if (tmp.empty()) {
|
||||
+ // tmp.push_back(0);
|
||||
+ // }
|
||||
+
|
||||
+ // if (llama_model_has_encoder(model)) {
|
||||
+ // #ifdef USE_CALRT
|
||||
+ // //calrt_encode(cal_ctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
+ // #else
|
||||
+ // llama_encode(lctx, llama_batch_get_one(tmp.data(), tmp.size()));
|
||||
+ // #endif
|
||||
+ // llama_token decoder_start_token_id = llama_model_decoder_start_token(model);
|
||||
+ // if (decoder_start_token_id == LLAMA_TOKEN_NULL) {
|
||||
+ // decoder_start_token_id = bos;
|
||||
+ // }
|
||||
+ // tmp.clear();
|
||||
+ // tmp.push_back(decoder_start_token_id);
|
||||
+ // }
|
||||
+ // if (llama_model_has_decoder(model)) {
|
||||
+ // #ifdef USE_CALRT
|
||||
+ // calrt_decode(cal_ctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
+ // #else
|
||||
+ // llama_decode(lctx, llama_batch_get_one(tmp.data(), std::min(tmp.size(), (size_t) params.n_batch)));
|
||||
+ // #endif
|
||||
+ // }
|
||||
+ // llama_memory_clear(llama_get_memory(lctx), true);
|
||||
+ // llama_synchronize(lctx);
|
||||
+ // llama_perf_context_reset(lctx);
|
||||
+ // llama_set_warmup(lctx, false);
|
||||
+ // }
|
||||
|
||||
iparams.model.reset(model);
|
||||
iparams.context.reset(lctx);
|
||||
diff --git a/src/llama-calrt.cpp b/src/llama-calrt.cpp
|
||||
index 9f41c955b7bb36cdc4dfc0d50c5fdd76667a2373..e8dc07c6fe6282ff3d7d4e43210b3491982d10f0 100644
|
||||
--- a/src/llama-calrt.cpp
|
||||
+++ b/src/llama-calrt.cpp
|
||||
@@ -43,6 +43,16 @@ std::unique_ptr<calrt::VirtualDevice> init_calrt_vdev() {
|
||||
throw std::runtime_error("failed to create vdevice");
|
||||
}
|
||||
|
||||
+ uint64_t commitId = 0;
|
||||
+ uint32_t rdata = 0;
|
||||
+ vDev->GetDevice()->ReadReg(0x0a238254, rdata);
|
||||
+ commitId |=(((uint64_t)rdata) << 32);
|
||||
+ vDev->GetDevice()->ReadReg(0x0a238258, rdata);
|
||||
+ commitId |=((uint64_t)rdata);
|
||||
+
|
||||
+ LLAMA_LOG_INFO("CalcoreRT: =================== CalcoreRT Version: %016llx ====================\n", commitId);
|
||||
+ LLAMA_LOG_INFO("CalRT: =================== CalRT Version %s ====================\n", calrt::calrt_version());
|
||||
+
|
||||
return vDev;
|
||||
}
|
||||
|
||||
@@ -664,7 +674,7 @@ calrt::CalbinModel * calrt_context::get_model_by_name(std::string & name) {
|
||||
}
|
||||
|
||||
if (smodelName.empty()) {
|
||||
- LLAMA_LOG_ERROR("submodel who's name contains %s not found", name.c_str());
|
||||
+ //LLAMA_LOG_ERROR("submodel who's name contains %s not found", name.c_str());
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -681,7 +691,7 @@ calrt::CalbinModel * calrt_context::get_model_by_names(std::string & name1, std:
|
||||
}
|
||||
|
||||
if (smodelName.empty()) {
|
||||
- LLAMA_LOG_ERROR("submodel who's name contains %s not found", name1.c_str(), name2.c_str());
|
||||
+ //LLAMA_LOG_ERROR("submodel who's name contains %s not found", name1.c_str(), name2.c_str());
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
commit 499f6ff441d26b9a720c3d3403bde14695257b9d
|
||||
Author: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
AuthorDate: Thu Apr 30 16:18:01 2026 +0800
|
||||
Commit: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
CommitDate: Thu Apr 30 16:18:01 2026 +0800
|
||||
|
||||
index on (no branch): efa1876b update version print
|
||||
@@ -0,0 +1,8 @@
|
||||
commit 81d4fd2c584e6df9199181e44b77fc3d939c0a67
|
||||
Merge: efa1876b 499f6ff4
|
||||
Author: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
AuthorDate: Thu Apr 30 16:18:01 2026 +0800
|
||||
Commit: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
CommitDate: Thu Apr 30 16:18:01 2026 +0800
|
||||
|
||||
WIP on (no branch): efa1876b update version print
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/llama-calrt.cpp b/src/llama-calrt.cpp
|
||||
index 0dd65366a7390fc29423281f515f29406003de51..845d1df3b3e3ac5df45404b08909c5941ea49e54 100644
|
||||
--- a/src/llama-calrt.cpp
|
||||
+++ b/src/llama-calrt.cpp
|
||||
@@ -133,7 +133,7 @@ int calrt_context::decode(const llama_batch & batch_inp) {
|
||||
// require that all tokens are output
|
||||
if (n_outputs_all != n_tokens_all) {
|
||||
LLAMA_LOG_ERROR(
|
||||
- "%s: pooled embedding requires that all tokens are output (n_outputs_all = %d, n_tokens_all = %d)\n",
|
||||
+ "%s: pooled embedding requires that all tokens are eoutput (n_outputs_all = %d, n_tokens_all = %d)\n",
|
||||
__func__, n_outputs_all, n_tokens_all);
|
||||
return -1;
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/llama-calrt.cpp b/src/llama-calrt.cpp
|
||||
index 0dd65366a7390fc29423281f515f29406003de51..845d1df3b3e3ac5df45404b08909c5941ea49e54 100644
|
||||
--- a/src/llama-calrt.cpp
|
||||
+++ b/src/llama-calrt.cpp
|
||||
@@ -133,7 +133,7 @@ int calrt_context::decode(const llama_batch & batch_inp) {
|
||||
// require that all tokens are output
|
||||
if (n_outputs_all != n_tokens_all) {
|
||||
LLAMA_LOG_ERROR(
|
||||
- "%s: pooled embedding requires that all tokens are output (n_outputs_all = %d, n_tokens_all = %d)\n",
|
||||
+ "%s: pooled embedding requires that all tokens are eoutput (n_outputs_all = %d, n_tokens_all = %d)\n",
|
||||
__func__, n_outputs_all, n_tokens_all);
|
||||
return -1;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
commit c44438579a1cc573cbdb2519dda46ccd04ddc817
|
||||
Merge: 207ca38c f06f10a5
|
||||
Author: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
AuthorDate: Thu Apr 9 10:37:03 2026 +0800
|
||||
Commit: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
CommitDate: Thu Apr 9 10:37:03 2026 +0800
|
||||
|
||||
WIP on dev: 207ca38c delet extra printf
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
diff --git a/tools/server/server.cpp b/tools/server/server.cpp
|
||||
index 868d17b418312a2d7898f4b355eef76f509195c5..d2a035baeb46f868c72592d48a64c5ede41efee9 100644
|
||||
--- a/tools/server/server.cpp
|
||||
+++ b/tools/server/server.cpp
|
||||
@@ -1875,7 +1875,7 @@ struct server_slot {
|
||||
GGML_ASSERT(task);
|
||||
|
||||
auto previous_msg = chat_msg;
|
||||
- SRV_DBG("Parsing chat message: %s\n", generated_text.c_str());
|
||||
+ //SRV_DBG("Parsing chat message: %s\n", generated_text.c_str());
|
||||
auto new_msg = common_chat_parse(
|
||||
generated_text,
|
||||
/* is_partial= */ stop != STOP_TYPE_EOS,
|
||||
@@ -1920,13 +1920,17 @@ struct server_slot {
|
||||
}
|
||||
|
||||
void print_timings() const {
|
||||
- const double t_prompt = t_prompt_processing / n_prompt_tokens_processed;
|
||||
- const double n_prompt_second = 1e3 / t_prompt_processing * n_prompt_tokens_processed;
|
||||
+ const double t_copyout_total = t_inference_outcopy / 32 * 31;
|
||||
+ const double t_copyout_decode = (t_inference_outcopy - t_prefill_inference_outcopy) / 32 * 31;
|
||||
+ const double t_copyout_prefill = t_prefill_inference_outcopy / 32 * 31;
|
||||
|
||||
- const double t_gen = t_token_generation / n_decoded;
|
||||
- const double n_gen_second = 1e3 / t_token_generation * n_decoded;
|
||||
+ const double t_prompt = (t_prompt_processing - t_copyout_prefill) / n_prompt_tokens_processed;
|
||||
+ const double n_prompt_second = 1e3 / (t_prompt_processing - t_copyout_prefill) * n_prompt_tokens_processed;
|
||||
|
||||
- const double t_total = t_prompt_processing + t_token_generation;
|
||||
+ const double t_gen = (t_token_generation - t_copyout_decode) / n_decoded;
|
||||
+ const double n_gen_second = 1e3 / (t_token_generation - t_copyout_decode) * n_decoded;
|
||||
+
|
||||
+ const double t_total = t_prompt_processing + t_token_generation -t_copyout_total ;
|
||||
const double t_framework_other = t_total - t_inference_accumulated - t_inference_incopy - t_inference_outcopy - t_sampling_accumulated - t_unknown;
|
||||
|
||||
const double t_prompt_inference = t_prefill_inference_accumulated / n_prompt_tokens_processed;
|
||||
@@ -1950,9 +1954,9 @@ struct server_slot {
|
||||
" [Device] Unknown : %10.2f ms \n"
|
||||
" [CPU] Sampling: %10.2f ms \n"
|
||||
" [CPU] Fw Ovhd : %10.2f ms (Batch Prep, Logic, etc.)\n",
|
||||
- t_prompt_processing, n_prompt_tokens_processed, t_prompt, n_prompt_second,
|
||||
- t_token_generation, n_decoded, t_gen, n_gen_second,
|
||||
- t_prompt_processing + t_token_generation, n_prompt_tokens_processed + n_decoded,
|
||||
+ t_prompt_processing - t_copyout_prefill , n_prompt_tokens_processed, t_prompt, n_prompt_second,
|
||||
+ t_token_generation - t_copyout_decode , n_decoded, t_gen, n_gen_second,
|
||||
+ t_prompt_processing + t_token_generation - t_copyout_total, n_prompt_tokens_processed + n_decoded,
|
||||
t_inference_accumulated, t_prefill_inference_accumulated, t_prompt_inference, t_inference_accumulated - t_prefill_inference_accumulated, t_gen_inference,
|
||||
t_inference_incopy, t_prefill_inference_incopy, t_prompt_incopy, t_inference_incopy - t_prefill_inference_incopy, t_gen_incopy,
|
||||
t_inference_outcopy, t_prefill_inference_outcopy, t_prompt_outcopy, t_inference_outcopy - t_prefill_inference_outcopy, t_gen_outcopy,
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
diff --git a/tools/server/server.cpp b/tools/server/server.cpp
|
||||
index 868d17b418312a2d7898f4b355eef76f509195c5..d2a035baeb46f868c72592d48a64c5ede41efee9 100644
|
||||
--- a/tools/server/server.cpp
|
||||
+++ b/tools/server/server.cpp
|
||||
@@ -1875,7 +1875,7 @@ struct server_slot {
|
||||
GGML_ASSERT(task);
|
||||
|
||||
auto previous_msg = chat_msg;
|
||||
- SRV_DBG("Parsing chat message: %s\n", generated_text.c_str());
|
||||
+ //SRV_DBG("Parsing chat message: %s\n", generated_text.c_str());
|
||||
auto new_msg = common_chat_parse(
|
||||
generated_text,
|
||||
/* is_partial= */ stop != STOP_TYPE_EOS,
|
||||
@@ -1920,13 +1920,17 @@ struct server_slot {
|
||||
}
|
||||
|
||||
void print_timings() const {
|
||||
- const double t_prompt = t_prompt_processing / n_prompt_tokens_processed;
|
||||
- const double n_prompt_second = 1e3 / t_prompt_processing * n_prompt_tokens_processed;
|
||||
+ const double t_copyout_total = t_inference_outcopy / 32 * 31;
|
||||
+ const double t_copyout_decode = (t_inference_outcopy - t_prefill_inference_outcopy) / 32 * 31;
|
||||
+ const double t_copyout_prefill = t_prefill_inference_outcopy / 32 * 31;
|
||||
|
||||
- const double t_gen = t_token_generation / n_decoded;
|
||||
- const double n_gen_second = 1e3 / t_token_generation * n_decoded;
|
||||
+ const double t_prompt = (t_prompt_processing - t_copyout_prefill) / n_prompt_tokens_processed;
|
||||
+ const double n_prompt_second = 1e3 / (t_prompt_processing - t_copyout_prefill) * n_prompt_tokens_processed;
|
||||
|
||||
- const double t_total = t_prompt_processing + t_token_generation;
|
||||
+ const double t_gen = (t_token_generation - t_copyout_decode) / n_decoded;
|
||||
+ const double n_gen_second = 1e3 / (t_token_generation - t_copyout_decode) * n_decoded;
|
||||
+
|
||||
+ const double t_total = t_prompt_processing + t_token_generation -t_copyout_total ;
|
||||
const double t_framework_other = t_total - t_inference_accumulated - t_inference_incopy - t_inference_outcopy - t_sampling_accumulated - t_unknown;
|
||||
|
||||
const double t_prompt_inference = t_prefill_inference_accumulated / n_prompt_tokens_processed;
|
||||
@@ -1950,9 +1954,9 @@ struct server_slot {
|
||||
" [Device] Unknown : %10.2f ms \n"
|
||||
" [CPU] Sampling: %10.2f ms \n"
|
||||
" [CPU] Fw Ovhd : %10.2f ms (Batch Prep, Logic, etc.)\n",
|
||||
- t_prompt_processing, n_prompt_tokens_processed, t_prompt, n_prompt_second,
|
||||
- t_token_generation, n_decoded, t_gen, n_gen_second,
|
||||
- t_prompt_processing + t_token_generation, n_prompt_tokens_processed + n_decoded,
|
||||
+ t_prompt_processing - t_copyout_prefill , n_prompt_tokens_processed, t_prompt, n_prompt_second,
|
||||
+ t_token_generation - t_copyout_decode , n_decoded, t_gen, n_gen_second,
|
||||
+ t_prompt_processing + t_token_generation - t_copyout_total, n_prompt_tokens_processed + n_decoded,
|
||||
t_inference_accumulated, t_prefill_inference_accumulated, t_prompt_inference, t_inference_accumulated - t_prefill_inference_accumulated, t_gen_inference,
|
||||
t_inference_incopy, t_prefill_inference_incopy, t_prompt_incopy, t_inference_incopy - t_prefill_inference_incopy, t_gen_incopy,
|
||||
t_inference_outcopy, t_prefill_inference_outcopy, t_prompt_outcopy, t_inference_outcopy - t_prefill_inference_outcopy, t_gen_outcopy,
|
||||
@@ -0,0 +1,7 @@
|
||||
commit f06f10a592284d02a0e68019abab18f637cb738f
|
||||
Author: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
AuthorDate: Thu Apr 9 10:37:03 2026 +0800
|
||||
Commit: Bomeng Wang <wangbomeng@calculet.tech>
|
||||
CommitDate: Thu Apr 9 10:37:03 2026 +0800
|
||||
|
||||
index on dev: 207ca38c delet extra printf
|
||||
Reference in New Issue
Block a user