Tiramisu Compiler
core.h File Reference
#include <isl/set.h>
#include <isl/map.h>
#include <isl/union_map.h>
#include <isl/union_set.h>
#include <isl/ast_build.h>
#include <isl/schedule.h>
#include <isl/schedule_node.h>
#include <isl/space.h>
#include <isl/constraint.h>
#include <map>
#include <string.h>
#include <stdint.h>
#include <unordered_map>
#include <unordered_set>
#include <sstream>
#include <Halide.h>
#include <tiramisu/debug.h>
#include <tiramisu/expr.h>
#include <tiramisu/type.h>
#include "cuda_ast.h"

Go to the source code of this file.

Classes

struct  tiramisu::HalideCodegenOutput
 
struct  tiramisu::xfer
 
class  tiramisu::function
 A class to represent functions in Tiramisu. More...
 
class  tiramisu::buffer
 A class that represents buffers. More...
 
class  tiramisu::computation
 A class that represents computations. More...
 
class  tiramisu::input
 
class  tiramisu::Input
 
class  tiramisu::view
 
class  tiramisu::constant
 A class that represents loop invariants. More...
 
class  tiramisu::generator
 A class for code generation. More...
 
class  tiramisu::utility
 A class containing utility functions. More...
 
class  tiramisu::xfer_prop
 
class  tiramisu::communicator
 
class  tiramisu::send
 
class  tiramisu::recv
 
class  tiramisu::send_recv
 
class  tiramisu::wait
 

Namespaces

 tiramisu
 

Typedefs

typedef std::tuple< int, tiramisu::expr, tiramisu::expr, tiramisu::exprtiramisu::collapse_group
 Loop level, loop start, loop end, number of elements to collapse. More...
 

Enumerations

Functions

HalideCodegenOutput tiramisu::halide_pipeline_to_tiramisu_function (Halide::Internal::Stmt s, const std::vector< Halide::Internal::Function > &outputs, const std::map< std::string, Halide::Internal::Function > &env, const std::map< std::string, std::vector< int32_t >> &output_buffers_size, tiramisu::function *func)
 
computation * tiramisu::get_computation_annotated_in_a_node (isl_ast_node *node)
 
std::string tiramisu::generate_new_computation_name ()
 
isl_map * tiramisu::isl_map_add_free_var (const std::string &free_var_name, isl_map *map, isl_ctx *ctx)
 
void tiramisu::split_string (std::string str, std::string delimiter, std::vector< std::string > &vector)
 
int tiramisu::loop_level_into_dynamic_dimension (int level)
 
int tiramisu::loop_level_into_static_dimension (int level)
 
void tiramisu::init (std::string name)
 Initialize the Tiramisu compiler and set Tiramisu options to default values. More...
 
void tiramisu::init ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void tiramisu::codegen (const std::vector< tiramisu::buffer * > &arguments, const std::string obj_filename, const bool gen_cuda_stmt=false)
 Generate code. More...
 
void tiramisu::halide_stmt_dump (Halide::Internal::Stmt s)
 
Halide::Module tiramisu::lower_halide_pipeline (const std::string &pipeline_name, const Halide::Target &t, const std::vector< Halide::Argument > &args, const Halide::Internal::LoweredFunc::LinkageType linkage_type, Halide::Internal::Stmt s)