mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-11-11 13:30:35 +00:00
resolve test-backend-ops conflicts
This commit is contained in:
parent
40f47872b3
commit
1928967874
@ -474,8 +474,8 @@ struct test_case {
|
|||||||
|
|
||||||
if (memcmp(t1_data.data(), t2_data.data(), ggml_nbytes(t1)) != 0) {
|
if (memcmp(t1_data.data(), t2_data.data(), ggml_nbytes(t1)) != 0) {
|
||||||
printf("sentinel mismatch: %s ", t1->name);
|
printf("sentinel mismatch: %s ", t1->name);
|
||||||
// ud->ok = false;
|
ud->ok = false;
|
||||||
// return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1694,64 +1694,6 @@ struct test_leaky_relu : public test_case {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// GGML_OP_SSM_CONV
|
|
||||||
struct test_ssm_conv : public test_case {
|
|
||||||
const ggml_type type;
|
|
||||||
const int64_t d_conv;
|
|
||||||
const int64_t d_inner;
|
|
||||||
const int64_t n_seq_tokens;
|
|
||||||
const int64_t n_seqs;
|
|
||||||
|
|
||||||
std::string vars() override {
|
|
||||||
return VARS_TO_STR5(type, d_conv, d_inner, n_seq_tokens, n_seqs);
|
|
||||||
}
|
|
||||||
|
|
||||||
test_ssm_conv(ggml_type type = GGML_TYPE_F32,
|
|
||||||
int64_t d_conv = 4,
|
|
||||||
int64_t d_inner = 1536,
|
|
||||||
int64_t n_seq_tokens = 7,
|
|
||||||
int64_t n_seqs = 2)
|
|
||||||
: type(type), d_conv(d_conv), d_inner(d_inner), n_seq_tokens(n_seq_tokens), n_seqs(n_seqs) {}
|
|
||||||
|
|
||||||
ggml_tensor * build_graph(ggml_context * ctx) override {
|
|
||||||
ggml_tensor * sx = ggml_new_tensor_3d(ctx, type, d_conv - 1 + n_seq_tokens, d_inner, n_seqs);
|
|
||||||
ggml_tensor * c = ggml_new_tensor_2d(ctx, type, d_conv, d_inner);
|
|
||||||
ggml_tensor * out = ggml_ssm_conv(ctx, sx, c);
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// GGML_OP_SSM_SCAN
|
|
||||||
struct test_ssm_scan : public test_case {
|
|
||||||
const ggml_type type;
|
|
||||||
const int64_t d_state;
|
|
||||||
const int64_t d_inner;
|
|
||||||
const int64_t n_seq_tokens;
|
|
||||||
const int64_t n_seqs;
|
|
||||||
|
|
||||||
std::string vars() override {
|
|
||||||
return VARS_TO_STR5(type, d_state, d_inner, n_seq_tokens, n_seqs);
|
|
||||||
}
|
|
||||||
|
|
||||||
test_ssm_scan(ggml_type type = GGML_TYPE_F32,
|
|
||||||
int64_t d_state = 16,
|
|
||||||
int64_t d_inner = 1536,
|
|
||||||
int64_t n_seq_tokens = 7,
|
|
||||||
int64_t n_seqs = 2)
|
|
||||||
: type(type), d_state(d_state), d_inner(d_inner), n_seq_tokens(n_seq_tokens), n_seqs(n_seqs) {}
|
|
||||||
|
|
||||||
ggml_tensor * build_graph(ggml_context * ctx) override {
|
|
||||||
ggml_tensor * s = ggml_new_tensor_3d(ctx, type, d_state, d_inner, n_seqs);
|
|
||||||
ggml_tensor * x = ggml_new_tensor_3d(ctx, type, d_inner, n_seq_tokens, n_seqs);
|
|
||||||
ggml_tensor * dt = ggml_new_tensor_3d(ctx, type, d_inner, n_seq_tokens, n_seqs);
|
|
||||||
ggml_tensor * A = ggml_new_tensor_2d(ctx, type, d_state, d_inner);
|
|
||||||
ggml_tensor * B = ggml_new_tensor_3d(ctx, type, d_state, n_seq_tokens, n_seqs);
|
|
||||||
ggml_tensor * C = ggml_new_tensor_3d(ctx, type, d_state, n_seq_tokens, n_seqs);
|
|
||||||
ggml_tensor * out = ggml_ssm_scan(ctx, s, x, dt, A, B, C);
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// GGML_OP_FLASH_ATTN_EXT
|
// GGML_OP_FLASH_ATTN_EXT
|
||||||
struct test_flash_attn_ext : public test_case {
|
struct test_flash_attn_ext : public test_case {
|
||||||
const int64_t hs; // head size
|
const int64_t hs; // head size
|
||||||
@ -2549,8 +2491,6 @@ static bool test_backend(ggml_backend_t backend, test_mode mode, const char * op
|
|||||||
test_cases.emplace_back(new test_arange());
|
test_cases.emplace_back(new test_arange());
|
||||||
test_cases.emplace_back(new test_timestep_embedding());
|
test_cases.emplace_back(new test_timestep_embedding());
|
||||||
test_cases.emplace_back(new test_leaky_relu());
|
test_cases.emplace_back(new test_leaky_relu());
|
||||||
test_cases.emplace_back(new test_ssm_conv());
|
|
||||||
test_cases.emplace_back(new test_ssm_scan());
|
|
||||||
|
|
||||||
for (int hs : { 64, 80, 128, 256, }) {
|
for (int hs : { 64, 80, 128, 256, }) {
|
||||||
for (bool mask : { true, false } ) {
|
for (bool mask : { true, false } ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user