#pragma once #include void mak_run(at::Tensor prog, at::Tensor barrier, int64_t pos, int64_t step_slot, int64_t max_k); void mak_run_steps(at::Tensor prog, at::Tensor barrier, int64_t pos0, int64_t steps, int64_t slot0, int64_t max_k); void mak_run_seq(at::Tensor prog, at::Tensor barrier, int64_t pos0, int64_t steps, int64_t slot0, int64_t prompt_len, int64_t max_k, int64_t chunk_m); at::Tensor mak_run_phased(at::Tensor prog, int64_t pos, int64_t step_slot, bool timed, int64_t max_k); void mak_run_batch(at::Tensor prog, at::Tensor barrier, at::Tensor pos_b, int64_t steps, int64_t slot0, int64_t max_k, int64_t kv_bstride, int64_t stage_elems); int64_t mak_num_blocks(at::Tensor prog, int64_t max_k); int64_t mak_batch_maxb(); double mak_bw_per_sm(at::Tensor probe);