Halide
LoopNest.h File Reference
#include "ASLog.h"
#include "CostModel.h"
#include "FunctionDAG.h"
#include "GPULoopInfo.h"
#include "GPUMemInfo.h"
#include "PerfectHashMap.h"
#include "SearchSpaceOptions.h"
#include "Statistics.h"
#include "ThreadInfo.h"
#include "Tiling.h"
#include <set>
#include <vector>

Go to the source code of this file.

Classes

struct  Halide::Internal::Autoscheduler::LoopNest
 
struct  Halide::Internal::Autoscheduler::LoopNest::FeatureIntermediates
 
struct  Halide::Internal::Autoscheduler::LoopNest::Sites
 
struct  Halide::Internal::Autoscheduler::LoopNest::StageScheduleState
 
struct  Halide::Internal::Autoscheduler::LoopNest::StageScheduleState::FuncVar
 
struct  Halide::Internal::Autoscheduler::Filter
 

Namespaces

 Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
 Halide::Internal
 
 Halide::Internal::Autoscheduler
 

Enumerations

enum  Halide::Internal::Autoscheduler::GPU_parallelism {
  Halide::Internal::Autoscheduler::GPU_parallelism::Block, Halide::Internal::Autoscheduler::GPU_parallelism::Thread, Halide::Internal::Autoscheduler::GPU_parallelism::Serial, Halide::Internal::Autoscheduler::GPU_parallelism::Simd,
  Halide::Internal::Autoscheduler::GPU_parallelism::Parallelized, Halide::Internal::Autoscheduler::GPU_parallelism::None
}
 
enum  Halide::Internal::Autoscheduler::GPUMemoryType {
  Halide::Internal::Autoscheduler::GPUMemoryType::Global, Halide::Internal::Autoscheduler::GPUMemoryType::Shared, Halide::Internal::Autoscheduler::GPUMemoryType::Local, Halide::Internal::Autoscheduler::GPUMemoryType::Registers,
  Halide::Internal::Autoscheduler::GPUMemoryType::Inlined
}
 

Functions

std::string Halide::Internal::Autoscheduler::stringify (GPU_parallelism label)
 
bool Halide::Internal::Autoscheduler::may_subtile (const Anderson2021Params &params)
 
int64_t Halide::Internal::Autoscheduler::get_shared_memory_limit (const Anderson2021Params &params)
 
int64_t Halide::Internal::Autoscheduler::get_active_block_hardware_limit (const Anderson2021Params &params)
 
int64_t Halide::Internal::Autoscheduler::get_active_warp_hardware_limit (const Anderson2021Params &params)
 
constexpr int64_t Halide::Internal::Autoscheduler::get_register_mem_alloc_limit ()
 
int Halide::Internal::Autoscheduler::get_unroll_limit (const Target &target)
 
bool Halide::Internal::Autoscheduler::in_range_zero_one (double x)
 
bool Halide::Internal::Autoscheduler::are_valid_thread_extents (const vector< int64_t > &counts)
 
double Halide::Internal::Autoscheduler::get_idle_lane_wastage_limit_env_var ()
 
double Halide::Internal::Autoscheduler::get_idle_lane_wastage_limit ()
 
bool Halide::Internal::Autoscheduler::all (const vector< int > &v)
 
bool Halide::Internal::Autoscheduler::accessed_at_constant_indices (const std::vector< int > &unrolled, const FunctionDAG::Edge *e)