|
Halide 21.0.0
Halide compiler and libraries
|
A halide module. More...
#include <Module.h>
Public Member Functions | |
| Module (const std::string &name, const Target &target, const MetadataNameMap &metadata_name_map={}) | |
| const Target & | target () const |
| Get the target this module has been lowered for. | |
| const std::string & | name () const |
| The name of this module. | |
| const AutoSchedulerResults * | get_auto_scheduler_results () const |
| If this Module had an auto-generated schedule, return a read-only pointer to the AutoSchedulerResults. | |
| bool | any_strict_float () const |
| Return whether this module uses strict floating-point anywhere. | |
| const std::vector< Buffer< void > > & | buffers () const |
| The declarations contained in this module. | |
| const std::vector< Internal::LoweredFunc > & | functions () const |
| std::vector< Internal::LoweredFunc > & | functions () |
| const std::vector< Module > & | submodules () const |
| Buffer | get_cuda_ptx_assembly_buffer () const |
| Tries to locate the offloaded CUDA PTX assembly contained in this Module. | |
| Buffer | get_device_code_buffer () const |
| Tries to locate the offloaded (GPU) Device assembly contained in this Module. | |
| Internal::LoweredFunc | get_function_by_name (const std::string &name) const |
| Return the function with the given name. | |
| void | append (const Buffer< void > &buffer) |
| Add a declaration to this module. | |
| void | append (const Internal::LoweredFunc &function) |
| void | append (const Module &module) |
| void | compile (const std::map< OutputFileType, std::string > &output_files) const |
| Compile a halide Module to variety of outputs, depending on the fields set in output_files. | |
| Buffer< uint8_t > | compile_to_buffer () const |
| Compile a halide Module to in-memory object code. | |
| Module | resolve_submodules () const |
| Return a new module with all submodules compiled to buffers on on the result Module. | |
| void | remap_metadata_name (const std::string &from, const std::string &to) const |
| When generating metadata from this module, remap any occurrences of 'from' into 'to'. | |
| MetadataNameMap | get_metadata_name_map () const |
| Retrieve the metadata name map. | |
| void | set_auto_scheduler_results (const AutoSchedulerResults &results) |
| Set the AutoSchedulerResults for the Module. | |
| void | set_any_strict_float (bool any_strict_float) |
| Set whether this module uses strict floating-point directives anywhere. | |
| void | set_conceptual_code_stmt (const Internal::Stmt &stmt) |
| Remember the Stmt during lowing before device-specific offloading. | |
| const Internal::Stmt & | get_conceptual_stmt () const |
| Get the remembered conceptual Stmt, remembered before device-specific offloading. | |
A halide module.
This represents IR containing lowered function definitions and buffers.
| Halide::Module::Module | ( | const std::string & | name, |
| const Target & | target, | ||
| const MetadataNameMap & | metadata_name_map = {} ) |
References name(), and target().
Referenced by append(), and resolve_submodules().
| const Target & Halide::Module::target | ( | ) | const |
Get the target this module has been lowered for.
Referenced by Module().
| const std::string & Halide::Module::name | ( | ) | const |
The name of this module.
This is used as the default filename for output operations.
Referenced by get_function_by_name(), and Module().
| const AutoSchedulerResults * Halide::Module::get_auto_scheduler_results | ( | ) | const |
If this Module had an auto-generated schedule, return a read-only pointer to the AutoSchedulerResults.
If not, return nullptr.
| bool Halide::Module::any_strict_float | ( | ) | const |
Return whether this module uses strict floating-point anywhere.
Referenced by set_any_strict_float().
| const std::vector< Buffer< void > > & Halide::Module::buffers | ( | ) | const |
The declarations contained in this module.
| const std::vector< Internal::LoweredFunc > & Halide::Module::functions | ( | ) | const |
| std::vector< Internal::LoweredFunc > & Halide::Module::functions | ( | ) |
| const std::vector< Module > & Halide::Module::submodules | ( | ) | const |
| Buffer Halide::Module::get_cuda_ptx_assembly_buffer | ( | ) | const |
| Buffer Halide::Module::get_device_code_buffer | ( | ) | const |
Tries to locate the offloaded (GPU) Device assembly contained in this Module.
This can be any of the GPU kernel sources, etc...
| Internal::LoweredFunc Halide::Module::get_function_by_name | ( | const std::string & | name | ) | const |
Return the function with the given name.
If no such function exists in this module, assert.
References name().
| void Halide::Module::append | ( | const Buffer< void > & | buffer | ) |
Add a declaration to this module.
| void Halide::Module::append | ( | const Internal::LoweredFunc & | function | ) |
| void Halide::Module::compile | ( | const std::map< OutputFileType, std::string > & | output_files | ) | const |
Compile a halide Module to variety of outputs, depending on the fields set in output_files.
Compile a halide Module to in-memory object code.
Currently only supports LLVM based compilation, but should be extended to handle source code backends.
| Module Halide::Module::resolve_submodules | ( | ) | const |
| void Halide::Module::remap_metadata_name | ( | const std::string & | from, |
| const std::string & | to ) const |
When generating metadata from this module, remap any occurrences of 'from' into 'to'.
| MetadataNameMap Halide::Module::get_metadata_name_map | ( | ) | const |
Retrieve the metadata name map.
| void Halide::Module::set_auto_scheduler_results | ( | const AutoSchedulerResults & | results | ) |
Set the AutoSchedulerResults for the Module.
It is an error to call this multiple times for a given Module.
| void Halide::Module::set_any_strict_float | ( | bool | any_strict_float | ) |
Set whether this module uses strict floating-point directives anywhere.
References any_strict_float().
| void Halide::Module::set_conceptual_code_stmt | ( | const Internal::Stmt & | stmt | ) |
Remember the Stmt during lowing before device-specific offloading.
References Halide::stmt.
| const Internal::Stmt & Halide::Module::get_conceptual_stmt | ( | ) | const |
Get the remembered conceptual Stmt, remembered before device-specific offloading.