Skip to content

Commit 919eea8

Browse files
committed
fix gelu
1 parent bacea13 commit 919eea8

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

ggml/src/ggml-metalium/ggml-metalium.cpp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1614,11 +1614,26 @@ static void ggml_backend_metalium_sum_rows(ggml_backend_metalium_context * ctx,
16141614

16151615
static bool ggml_backend_metalium_can_glu(const struct ggml_tensor * dst)
16161616
{
1617+
constexpr std::array<ggml_glu_op, 5> supported = {
1618+
GGML_GLU_OP_REGLU,
1619+
GGML_GLU_OP_GEGLU_ERF,
1620+
GGML_GLU_OP_GEGLU_QUICK,
1621+
GGML_GLU_OP_GEGLU,
1622+
GGML_GLU_OP_SWIGLU
1623+
};
1624+
if(std::find_if(supported.begin(), supported.end(), [&](ggml_glu_op op) {
1625+
return ggml_get_glu_op(dst) == op;
1626+
}) == supported.end()) {
1627+
return false;
1628+
}
1629+
1630+
16171631
bool split = dst->src[1] != NULL;
16181632
if(split) {
16191633
return true;
16201634
}
1621-
return dst->src[0]->ne[0] % 2 == 0 && ggml_get_glu_op(dst) != GGML_GLU_OP_SWIGLU_OAI;
1635+
1636+
return dst->src[0]->ne[0] % 2 == 0;
16221637
}
16231638

16241639
static void ggml_backend_metalium_glu(ggml_backend_metalium_context * ctx, struct ggml_tensor * dst)

0 commit comments

Comments
 (0)