9namespace Autoscheduler {
11bool all_ones(
const std::vector<int64_t> &nums);
14 const std::vector<int64_t> &nums);
20 const std::vector<int> &vec_dim_serial_sizes,
21 bool filter_small_outer_extents =
false,
22 bool allow_inner_ones =
false);
36 const std::vector<int> &inner_sizes = std::vector<int>());
42 std::vector<int64_t> &lowered_size);
52std::vector<std::vector<int64_t>>
generate_gpu_tilings(
const std::vector<std::vector<int64_t>> &stage_sizes,
53 const std::vector<std::vector<int>> &pure_dims,
54 const std::vector<int64_t> &max_s,
56 const std::vector<int> &vectorized_indices,
58 bool is_compute_root_stage);
bool all_ones(const std::vector< int64_t > &nums)
bool equal_to_existing_size(const std::vector< int64_t > &s, const std::vector< int64_t > &nums)
void lowered_dims(const std::vector< int64_t > &size, int vector_loop_i, std::vector< int64_t > &lowered_size)
moves vectorized dimension first and also removes dimensions with size 1 to reflect actual thread dim...
std::vector< std::vector< int64_t > > generate_gpu_tilings(const std::vector< std::vector< int64_t > > &stage_sizes, const std::vector< std::vector< int > > &pure_dims, const std::vector< int64_t > &max_s, int d, const std::vector< int > &vectorized_indices, bool serial_inner, bool is_compute_root_stage)
std::vector< std::vector< int64_t > > generate_tilings(const vector< int64_t > &s, int d, int factor, bool allow_splits)
std::vector< std::vector< int64_t > > generate_serial_tilings(const std::vector< int64_t > &s, int d, int last_d, int vectorized_index, const std::vector< int > &vec_dim_serial_sizes, bool filter_small_outer_extents=false, bool allow_inner_ones=false)
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.