Halide
Halide::Internal::Autoscheduler::GPULoopInfo Struct Reference

#include <GPULoopInfo.h>

Public Member Functions

 GPULoopInfo (const LoopNest *root)
 
void update (const Target &target, const LoopNest *loop)
 
int64_t total_serial_extents () const
 
bool at_or_inside_block () const
 
bool at_or_inside_thread () const
 
std::vector< int64_tget_inner_serial_loop_extents (const LoopNest *loop_nest) const
 
std::unique_ptr< ThreadInfocreate_thread_info ()
 
int64_t get_total_inner_serial_extents_outside_realization (const LoopNest *loop_nest) const
 

Public Attributes

const LoopNestroot = nullptr
 
const LoopNestcurrent_block_loop = nullptr
 
const LoopNestcurrent_thread_loop = nullptr
 
std::vector< const LoopNest * > inner_loop_stack
 
int64_t num_blocks = 1
 
int64_t total_outer_serial_extents = 1
 
int64_t total_inner_serial_extents = 1
 
const ThreadInfothread_info = nullptr
 

Detailed Description

Definition at line 21 of file GPULoopInfo.h.

Constructor & Destructor Documentation

◆ GPULoopInfo()

Halide::Internal::Autoscheduler::GPULoopInfo::GPULoopInfo ( const LoopNest root)
inline

Definition at line 22 of file GPULoopInfo.h.

References root.

Member Function Documentation

◆ update()

void Halide::Internal::Autoscheduler::GPULoopInfo::update ( const Target target,
const LoopNest loop 
)

◆ total_serial_extents()

int64_t Halide::Internal::Autoscheduler::GPULoopInfo::total_serial_extents ( ) const

◆ at_or_inside_block()

bool Halide::Internal::Autoscheduler::GPULoopInfo::at_or_inside_block ( ) const

◆ at_or_inside_thread()

bool Halide::Internal::Autoscheduler::GPULoopInfo::at_or_inside_thread ( ) const

◆ get_inner_serial_loop_extents()

std::vector<int64_t> Halide::Internal::Autoscheduler::GPULoopInfo::get_inner_serial_loop_extents ( const LoopNest loop_nest) const

◆ create_thread_info()

std::unique_ptr<ThreadInfo> Halide::Internal::Autoscheduler::GPULoopInfo::create_thread_info ( )

◆ get_total_inner_serial_extents_outside_realization()

int64_t Halide::Internal::Autoscheduler::GPULoopInfo::get_total_inner_serial_extents_outside_realization ( const LoopNest loop_nest) const

Member Data Documentation

◆ root

const LoopNest* Halide::Internal::Autoscheduler::GPULoopInfo::root = nullptr

Definition at line 26 of file GPULoopInfo.h.

Referenced by GPULoopInfo().

◆ current_block_loop

const LoopNest* Halide::Internal::Autoscheduler::GPULoopInfo::current_block_loop = nullptr

Definition at line 27 of file GPULoopInfo.h.

◆ current_thread_loop

const LoopNest* Halide::Internal::Autoscheduler::GPULoopInfo::current_thread_loop = nullptr

Definition at line 28 of file GPULoopInfo.h.

◆ inner_loop_stack

std::vector<const LoopNest *> Halide::Internal::Autoscheduler::GPULoopInfo::inner_loop_stack

Definition at line 29 of file GPULoopInfo.h.

◆ num_blocks

int64_t Halide::Internal::Autoscheduler::GPULoopInfo::num_blocks = 1

Definition at line 30 of file GPULoopInfo.h.

◆ total_outer_serial_extents

int64_t Halide::Internal::Autoscheduler::GPULoopInfo::total_outer_serial_extents = 1

Definition at line 31 of file GPULoopInfo.h.

◆ total_inner_serial_extents

int64_t Halide::Internal::Autoscheduler::GPULoopInfo::total_inner_serial_extents = 1

Definition at line 32 of file GPULoopInfo.h.

◆ thread_info

const ThreadInfo* Halide::Internal::Autoscheduler::GPULoopInfo::thread_info = nullptr

Definition at line 33 of file GPULoopInfo.h.


The documentation for this struct was generated from the following file: