Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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

namespace  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.
 
namespace  Halide::Internal
 
namespace  Halide::Internal::Autoscheduler
 

Enumerations

enum class  Halide::Internal::Autoscheduler::GPU_parallelism {
  Halide::Internal::Autoscheduler::Block , Halide::Internal::Autoscheduler::Thread , Halide::Internal::Autoscheduler::Serial , Halide::Internal::Autoscheduler::Simd ,
  Halide::Internal::Autoscheduler::Parallelized , Halide::Internal::Autoscheduler::None
}
 
enum class  Halide::Internal::Autoscheduler::GPUMemoryType {
  Halide::Internal::Autoscheduler::Global , Halide::Internal::Autoscheduler::Shared , Halide::Internal::Autoscheduler::Local , Halide::Internal::Autoscheduler::Registers ,
  Halide::Internal::Autoscheduler::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_shared_memory_sm_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)