mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-09-19 17:25:07 +02:00
Merge commit 'c1258830b28dddc65ac3aa3452214553fdece30c' into concedo_experimental
# Conflicts: # docs/docker.md # docs/ops.md # docs/ops/WebGPU.csv # ggml/src/ggml-cann/aclnn_ops.cpp # ggml/src/ggml-cann/ggml-cann.cpp # ggml/src/ggml-cpu/CMakeLists.txt # ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp # ggml/src/ggml-webgpu/ggml-webgpu.cpp # ggml/src/ggml-webgpu/wgsl-shaders/get_rows.wgsl # ggml/src/ggml-webgpu/wgsl-shaders/row_norm.wgsl # ggml/src/ggml-webgpu/wgsl-shaders/unary.wgsl
This commit is contained in:
+12
-8
@@ -305,6 +305,10 @@ clip_graph::clip_graph(clip_ctx * ctx, const clip_image_f32 & img) :
|
||||
gf = ggml_new_graph_custom(ctx0, ctx->max_nodes, false);
|
||||
}
|
||||
|
||||
ggml_tensor * clip_graph::build_mm(ggml_tensor * w, ggml_tensor * x) const {
|
||||
return ggml_mul_mat(ctx0, w, x);
|
||||
}
|
||||
|
||||
void clip_graph::cb(ggml_tensor * cur, const char * name, int il) const {
|
||||
if (il >= 0) {
|
||||
ggml_format_name(cur, "%s-%d", name, il);
|
||||
@@ -376,7 +380,7 @@ ggml_tensor * clip_graph::build_vit(
|
||||
ggml_tensor * Vcur = nullptr;
|
||||
if (layer.qkv_w != nullptr) {
|
||||
// fused qkv
|
||||
cur = ggml_mul_mat(ctx0, layer.qkv_w, cur);
|
||||
cur = build_mm(layer.qkv_w, cur);
|
||||
if (layer.qkv_b != nullptr) {
|
||||
cur = ggml_add(ctx0, cur, layer.qkv_b);
|
||||
}
|
||||
@@ -410,17 +414,17 @@ ggml_tensor * clip_graph::build_vit(
|
||||
|
||||
} else {
|
||||
// separate q, k, v
|
||||
Qcur = ggml_mul_mat(ctx0, layer.q_w, cur);
|
||||
Qcur = build_mm(layer.q_w, cur);
|
||||
if (layer.q_b) {
|
||||
Qcur = ggml_add(ctx0, Qcur, layer.q_b);
|
||||
}
|
||||
|
||||
Kcur = ggml_mul_mat(ctx0, layer.k_w, cur);
|
||||
Kcur = build_mm(layer.k_w, cur);
|
||||
if (layer.k_b) {
|
||||
Kcur = ggml_add(ctx0, Kcur, layer.k_b);
|
||||
}
|
||||
|
||||
Vcur = ggml_mul_mat(ctx0, layer.v_w, cur);
|
||||
Vcur = build_mm(layer.v_w, cur);
|
||||
if (layer.v_b) {
|
||||
Vcur = ggml_add(ctx0, Vcur, layer.v_b);
|
||||
}
|
||||
@@ -567,7 +571,7 @@ ggml_tensor * clip_graph::build_ffn(
|
||||
ffn_op_type type_op,
|
||||
int il) const {
|
||||
|
||||
ggml_tensor * tmp = up ? ggml_mul_mat(ctx0, up, cur) : cur;
|
||||
ggml_tensor * tmp = up ? build_mm(up, cur) : cur;
|
||||
cb(tmp, "ffn_up", il);
|
||||
|
||||
if (up_b) {
|
||||
@@ -576,7 +580,7 @@ ggml_tensor * clip_graph::build_ffn(
|
||||
}
|
||||
|
||||
if (gate) {
|
||||
cur = ggml_mul_mat(ctx0, gate, cur);
|
||||
cur = build_mm(gate, cur);
|
||||
cb(cur, "ffn_gate", il);
|
||||
|
||||
if (gate_b) {
|
||||
@@ -630,7 +634,7 @@ ggml_tensor * clip_graph::build_ffn(
|
||||
}
|
||||
|
||||
if (down) {
|
||||
cur = ggml_mul_mat(ctx0, down, cur);
|
||||
cur = build_mm(down, cur);
|
||||
}
|
||||
|
||||
if (down_b) {
|
||||
@@ -696,7 +700,7 @@ ggml_tensor * clip_graph::build_attn(
|
||||
cb(cur, "kqv_out", il);
|
||||
|
||||
if (wo) {
|
||||
cur = ggml_mul_mat(ctx0, wo, cur);
|
||||
cur = build_mm(wo, cur);
|
||||
}
|
||||
|
||||
if (wo_b) {
|
||||
|
||||
Reference in New Issue
Block a user