// File: gemm.h
#pragma once

// Per-definition constants for this gemm specialisation.
// C[m, n] = sum_k A[m, k] * B[n, k]  (B is the [N, K] "weight" matrix, transposed)
namespace gemm_def {
constexpr int N = 29;
constexpr int K = 800;
} // namespace gemm_def

#ifdef __cplusplus
extern "C" {
#endif
// LLM target: implement this in kernel.cpp.
// M is the only var dim. A: (M, K); B: (N, K); output: (M, N).
void inner_gemm(const float* A, float* output, const float* B, int M);
#ifdef __cplusplus
}
#endif