| 39 | { |
| 40 | |
| 41 | void CpuDynamicGemm::configure(const ITensorInfo *a, |
| 42 | const ITensorInfo *b, |
| 43 | const ITensorInfo *c, |
| 44 | ITensorInfo *d, |
| 45 | float alpha, |
| 46 | float beta, |
| 47 | const GEMMInfo &gemm_info) |
| 48 | { |
| 49 | ARM_COMPUTE_TRACE_EVENT(ARM_COMPUTE_PROF_CAT_CPU, ARM_COMPUTE_PROF_LVL_CPU, "CpuDynamicGemm::configure"); |
| 50 | ARM_COMPUTE_ERROR_THROW_ON(CpuDynamicGemm::validate(a, b, c, d, alpha, beta, gemm_info)); |
| 51 | ARM_COMPUTE_LOG_PARAMS(a, b, c, d, alpha, beta, gemm_info); |
| 52 | |
| 53 | _kernel = std::make_unique<kernels::CpuDynamicGemmKernel>(); |
| 54 | _kernel->configure(a, b, c, d, alpha, beta, Count, gemm_info); |
| 55 | |
| 56 | _reshape_b_and_c_only_on_first_run = b->are_values_constant() && c->are_values_constant(); |
| 57 | } |
| 58 | |
| 59 | Status CpuDynamicGemm::validate(const ITensorInfo *a, |
| 60 | const ITensorInfo *b, |
nothing calls this directly
no test coverage detected