return v;
}
+#define INDENT " "
+
template <bool abort>
void common_debug_print_tensor(uint8_t * data, ggml_type type, const int64_t * ne, const size_t * nb, int64_t n) {
GGML_ASSERT(n > 0);
}
}
for (int64_t i3 = 0; i3 < ne[3]; i3++) {
- LOG_ERR(" [\n");
+ LOG(INDENT "[\n");
for (int64_t i2 = 0; i2 < ne[2]; i2++) {
if (i2 == n && ne[2] > 2 * n) {
- LOG_ERR(" ..., \n");
+ LOG(INDENT INDENT "..., \n");
i2 = ne[2] - n;
}
- LOG_ERR(" [\n");
+ LOG(INDENT INDENT "[\n");
for (int64_t i1 = 0; i1 < ne[1]; i1++) {
if (i1 == n && ne[1] > 2 * n) {
- LOG_ERR(" ..., \n");
+ LOG(INDENT INDENT INDENT "..., \n");
i1 = ne[1] - n;
}
- LOG_ERR(" [");
+ LOG(INDENT INDENT INDENT "[");
for (int64_t i0 = 0; i0 < ne[0]; i0++) {
if (i0 == n && ne[0] > 2 * n) {
- LOG_ERR("..., ");
+ LOG(" ..., ");
i0 = ne[0] - n;
}
const float v = common_ggml_get_float_value(data, type, nb, i0, i1, i2, i3);
- LOG_ERR("%12.4f", v);
+ LOG("%12.4f", v);
if (i0 < ne[0] - 1) {
- LOG_ERR(", ");
+ LOG(", ");
}
}
- LOG_ERR("],\n");
+ LOG(" ],\n");
}
- LOG_ERR(" ],\n");
+ LOG(INDENT INDENT "],\n");
}
- LOG_ERR(" ]\n");
- LOG_ERR(" sum = %f\n", sum);
+ LOG(INDENT "]\n");
+ LOG(INDENT "sum = %f\n", sum);
}
if constexpr (abort) {
if (std::isnan(sum)) {
- LOG_ERR("encountered NaN - aborting\n");
+ LOG("encountered NaN - aborting\n");
exit(0);
}
}
}
if (matches_filter) {
- LOG_ERR("%s: %24s = (%s) %10s(%s{%s}, %s}) = {%s}\n", __func__, t->name, ggml_type_name(t->type),
- ggml_op_desc(t), src0->name, common_ggml_ne_string(src0).c_str(), src1 ? src1_str : "",
- common_ggml_ne_string(t).c_str());
+ LOG("%s: %24s = (%s) %10s(%s{%s}, %s}) = {%s}\n", __func__, t->name, ggml_type_name(t->type),
+ ggml_op_desc(t), src0->name, common_ggml_ne_string(src0).c_str(), src1 ? src1_str : "",
+ common_ggml_ne_string(t).c_str());
}
const bool is_host = ggml_backend_buffer_is_host(t->buffer);
cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs)
ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff);
- ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp,
+ ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp,
1, chunk_size, n_chunks, g_diff_exp->ne[3]);
ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t);
cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs)
- ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff));
+ ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff));
cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs)