MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / build_opt

Method build_opt

llama.cpp:5086–5204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5084 }
5085
5086 struct ggml_cgraph * build_opt() {
5087 struct ggml_cgraph * gf = ggml_new_graph_custom(ctx0, LLAMA_MAX_NODES, false);
5088
5089 struct ggml_tensor * cur;
5090 struct ggml_tensor * pos;
5091 struct ggml_tensor * inpL;
5092
5093 inpL = llm_build_inp_embd(ctx0, hparams, batch, model.tok_embd, cb);
5094 cb(inpL, "inp_embd", -1);
5095
5096 struct ggml_tensor * inp_pos = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_tokens);
5097 cb(inp_pos, "inp_pos", -1);
5098
5099 struct ggml_tensor * KQ_scale = ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, 1);
5100 cb(KQ_scale, "KQ_scale", -1);
5101
5102 struct ggml_tensor * KQ_mask = ggml_new_tensor_3d(ctx0, GGML_TYPE_F32, n_kv, n_tokens, 1);
5103 cb(KQ_mask, "KQ_mask", -1);
5104
5105 pos = ggml_get_rows(ctx0, model.pos_embd, inp_pos);
5106 cb(pos, "pos_embd", -1);
5107
5108 inpL = ggml_add(ctx0, inpL, pos);
5109 cb(inpL, "inpL", -1);
5110
5111 for (int il = 0; il < n_layer; ++il) {
5112 cur = llm_build_norm(ctx0, inpL, hparams,
5113 model.layers[il].attn_norm, model.layers[il].attn_norm_b,
5114 LLM_NORM, cb, il);
5115 cb(cur, "attn_norm", il);
5116
5117 // self-attention
5118 {
5119 struct ggml_tensor * Qcur = ggml_mul_mat(ctx0, model.layers[il].wq, cur);
5120 cb(Qcur, "Qcur", il);
5121 if (model.layers[il].bq) {
5122 Qcur = ggml_add(ctx0, Qcur, model.layers[il].bq);
5123 cb(Qcur, "Qcur", il);
5124 }
5125
5126 struct ggml_tensor * Kcur = ggml_mul_mat(ctx0, model.layers[il].wk, cur);
5127 cb(Kcur, "Kcur", il);
5128 if (model.layers[il].bk) {
5129 Kcur = ggml_add(ctx0, Kcur, model.layers[il].bk);
5130 cb(Kcur, "Kcur", il);
5131 }
5132
5133 struct ggml_tensor * Vcur = ggml_mul_mat(ctx0, model.layers[il].wv, cur);
5134 cb(Vcur, "Vcur", il);
5135 if (model.layers[il].bv) {
5136 Vcur = ggml_add(ctx0, Vcur, model.layers[il].bv);
5137 cb(Vcur, "Vcur", il);
5138 }
5139
5140 Qcur = ggml_reshape_3d(ctx0, Qcur, n_embd_head, n_head, n_tokens);
5141
5142 std::tie(k_cpy, v_cpy) = llm_build_kv_store(ctx0, hparams, kv_self, gf, Kcur, Vcur, n_ctx, n_tokens, kv_head, cb, il);
5143

Callers 1

llama_build_graphFunction · 0.80

Calls 15

llm_build_inp_embdFunction · 0.85
cbFunction · 0.85
llm_build_normFunction · 0.85
llm_build_kv_storeFunction · 0.85
llm_build_kqvFunction · 0.85
llm_build_ffn_sparseFunction · 0.85
llm_build_ffnFunction · 0.85
ggml_new_graph_customFunction · 0.70
ggml_new_tensor_1dFunction · 0.70
ggml_new_tensor_3dFunction · 0.70
ggml_get_rowsFunction · 0.70

Tested by

no test coverage detected