#ifndef TRITON_TVM_FFI_GRID_H #define TRITON_TVM_FFI_GRID_H #include #include #include template inline tvm::ffi::dim3 MakeGridDim(const T &grid, const tvm::ffi::Map &meta); template <> inline tvm::ffi::dim3 MakeGridDim>( const tvm::ffi::Tuple &grid, const tvm::ffi::Map &) { return tvm::ffi::dim3(grid.get<0>(), grid.get<1>(), grid.get<2>()); } template <> inline tvm::ffi::dim3 MakeGridDim( const tvm::ffi::Function &grid, const tvm::ffi::Map &meta) { tvm::ffi::Tuple tuple = grid(meta).cast>(); return MakeGridDim(tuple, meta); } #endif