ggml : extend ggml_pool_1d + metal (#16429)
* chore: resolve conflicts * feat: ggml metal impl * fix: ggml_metal_kargs_pool_1d struct * fix: require contiguous input * chore: test pool_1d * chore: limit pool1d test cases to p0=0 and s0=k0 to conform with asserts * chore: add p0 and s0 to testing * fix: allow padding for cpu and metal * Update ggml/src/ggml-metal/ggml-metal.metal * fix: correct single-threaded loop * ggml : cleanup * tests : add ne[1] != 1 tests * fix: ne[1] handling in np * cont : fixes --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
This commit is contained in:
co-authored by
Georgi Gerganov
parent
6ba6a3c76f
commit
388ce82241
@@ -4838,6 +4838,8 @@ struct ggml_tensor * ggml_pool_1d(
|
||||
a->ne[2],
|
||||
a->ne[3],
|
||||
};
|
||||
GGML_ASSERT(ne[0] > 0);
|
||||
|
||||
struct ggml_tensor * result = ggml_new_tensor(ctx, GGML_TYPE_F32, 4, ne);
|
||||
|
||||
int32_t params[] = { op, k0, s0, p0 };
|
||||
@@ -4868,6 +4870,9 @@ struct ggml_tensor * ggml_pool_2d(
|
||||
a->ne[2],
|
||||
a->ne[3],
|
||||
};
|
||||
GGML_ASSERT(ne[0] > 0);
|
||||
GGML_ASSERT(ne[1] > 0);
|
||||
|
||||
result = ggml_new_tensor(ctx, GGML_TYPE_F32, 4, ne);
|
||||
|
||||
int32_t params[] = { op, k0, k1, s0, s1, p0, p1 };
|
||||
|
||||
Reference in New Issue
Block a user