Skip to content

Commit

Permalink
ggml : fix gelu tables initialization (#10172)
Browse files Browse the repository at this point in the history
  • Loading branch information
slaren authored Nov 4, 2024
1 parent 401558b commit d5a409e
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions ggml/src/ggml-cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -13678,15 +13678,21 @@ int ggml_cpu_get_sve_cnt(void) {
}

void ggml_cpu_init(void) {
// needed to initialize f16 tables
{
struct ggml_init_params params = { 0, NULL, false };
struct ggml_context * ctx = ggml_init(params);
ggml_free(ctx);
}

ggml_critical_section_start();

static bool is_first_call = true;

if (is_first_call) {
// initialize GELU, Quick GELU, SILU and EXP F32 tables
{
// FIXME: this may be called before ggml_init
//const uint64_t t_start = ggml_time_us(); UNUSED(t_start);
const uint64_t t_start = ggml_time_us(); UNUSED(t_start);

for (int i = 0; i < (1 << 16); ++i) {
union {
Expand All @@ -13698,9 +13704,9 @@ void ggml_cpu_init(void) {
ggml_table_gelu_quick_f16[i] = GGML_FP32_TO_FP16(ggml_gelu_quick_f32(f));
}

//const uint64_t t_end = ggml_time_us(); UNUSED(t_end);
const uint64_t t_end = ggml_time_us(); UNUSED(t_end);

//GGML_PRINT_DEBUG("%s: GELU, Quick GELU, SILU and EXP tables initialized in %f ms\n", __func__, (t_end - t_start)/1000.0);
GGML_PRINT_DEBUG("%s: GELU, Quick GELU, SILU and EXP tables initialized in %f ms\n", __func__, (t_end - t_start)/1000.0);
}

#if defined(__ARM_ARCH)
Expand Down

0 comments on commit d5a409e

Please # to comment.