__fp16 *vtcm_scales = (__fp16 *) vtcm_seq_alloc(&vtcm_ptr, 256);
assert((size_t)(vtcm_ptr - (uint8_t *)ctx->vtcm_base) <= vtcm_budget);
- FARF(HIGH, "hmx-mm: m=%d k=%d n=%d wtype=%d block M=%zu N=%zu K=%zu vtcm=%zu/%zu", __func__, m, k, n, weight_type,
+ FARF(HIGH, "hmx-mm: m=%d k=%d n=%d wtype=%d block M=%zu N=%zu K=%zu vtcm=%zu/%zu", m, k, n, weight_type,
M_BLOCK_SIZE, N_BLOCK_SIZE, K_BLOCK_SIZE, (size_t) (vtcm_ptr - (uint8_t *) ctx->vtcm_base), vtcm_budget);
// initialize eye tile (32x32 identity matrix)
}
}
+ {
+ // Set HMX clock
+ HAP_power_request_t request;
+ memset(&request, 0, sizeof(HAP_power_request_t));
+ request.type = HAP_power_set_HMX_v2;
+ request.hmx_v2.set_clock = TRUE;
+ request.hmx_v2.target_corner = HAP_DCVS_EXP_VCORNER_MAX;
+ request.hmx_v2.min_corner = HAP_DCVS_EXP_VCORNER_MAX;
+ request.hmx_v2.max_corner = HAP_DCVS_EXP_VCORNER_MAX;
+ request.hmx_v2.perf_mode = HAP_CLK_PERF_HIGH;
+ FARF(ALWAYS, "Setting HMX clock\n");
+ err = HAP_power_set((void *) &ctx, &request);
+ if (err != AEE_SUCCESS) {
+ FARF(ERROR, "Error setting HMX clock.");
+ return err;
+ }
+ }
+
return AEE_SUCCESS;
}