#pragma once #include void mk_triad(torch::Tensor a, torch::Tensor b, torch::Tensor c, int64_t width, double s); void mk_triad_passes(torch::Tensor a, torch::Tensor b, torch::Tensor c, double s, int64_t passes); void mk_read(torch::Tensor a, torch::Tensor sink); void mk_write(torch::Tensor c, double v); void mk_gather(torch::Tensor a, torch::Tensor idx, torch::Tensor c, int64_t threads, int64_t dyn_smem); void mk_fma_f64(int64_t blocks, int64_t threads, int64_t iters, torch::Tensor sink); void mk_fma_dep(int64_t blocks, int64_t threads, int64_t dyn_smem, int64_t iters, torch::Tensor sink); void mk_chase_global(torch::Tensor ring, int64_t hops, torch::Tensor out); void mk_chase_shared(torch::Tensor ring, int64_t hops, torch::Tensor out); void mk_fma_f32(int64_t blocks, int64_t threads, int64_t iters, torch::Tensor sink); int64_t mk_mma(int64_t kind, int64_t blocks, int64_t warps, int64_t iters, torch::Tensor sink); void mk_atomics(int64_t mode, int64_t blocks, int64_t threads, int64_t iters, torch::Tensor buf, int64_t slots); void mk_spin(int64_t blocks, int64_t threads, int64_t ticks, torch::Tensor out, torch::Tensor sink); void mk_empty(torch::Tensor device_anchor); int64_t mk_barrier(int64_t blocks, int64_t threads, int64_t iters, torch::Tensor out); int64_t mk_occupancy(int64_t threads, int64_t dyn_smem, torch::Tensor device_anchor);