Tiramisu Compiler
utils.h File Reference
#include "Halide.h"
#include "tiramisu/debug.h"
#include <chrono>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  tiramisu_timer
 
class  optional< T >
 

Functions

double median (std::vector< std::chrono::duration< double, std::milli >> scores)
 
void print_time (const std::string &file_name, const std::string &kernel_name, const std::vector< std::string > &header_text, const std::vector< double > &time_vector)
 
template<typename T >
void init_buffer (Halide::Buffer< T > &buf, T val)
 
template<typename T >
void print_buffer (const Halide::Buffer< T > &buf)
 
template<typename T >
void copy_buffer (const Halide::Buffer< T > &from, Halide::Buffer< T > &to)
 
template<typename T >
void compare_buffers_approximately (const std::string &test, const Halide::Buffer< T > &result, const Halide::Buffer< T > &expected, float threshold)
 
template<typename T >
void compare_buffers_approximately (const std::string &test, const Halide::Buffer< T > &result, const Halide::Buffer< T > &expected)
 
template<typename T >
void compare_4D_buffers (const std::string &test, const Halide::Buffer< T > &result, const Halide::Buffer< T > &expected, int box)
 
template<typename T >
void compare_buffers (const std::string &test, const Halide::Buffer< T > &result, const Halide::Buffer< T > &expected)
 
template<typename T >
void compare_dist_buffers (const std::string &test, const Halide::Buffer< T > &expected_result)
 
template<typename T , typename C >
void store_dist_results (const std::string &test, int rank, const Halide::Buffer< T > &result)
 
void combine_dist_results (const std::string &test, std::vector< int > dims, int num_ranks)
 
void print_test_results (const std::string &test, bool success)
 success: a boolean indicating whether the test succeeded. More...
 
template<typename T >
void init_2D_buffer_interleaving (Halide::Buffer< T > &buf, T val1, T val2)
 Create an array {val1, val2, val1, val2, val1, val2, val1, val2, ...}. More...
 

Function Documentation

void combine_dist_results ( const std::string &  test,
std::vector< int >  dims,
int  num_ranks 
)

Referenced by store_dist_results().

template<typename T >
void compare_4D_buffers ( const std::string &  test,
const Halide::Buffer< T > &  result,
const Halide::Buffer< T > &  expected,
int  box 
)
inline

Definition at line 126 of file utils.h.

References result.

template<typename T >
void compare_buffers ( const std::string &  test,
const Halide::Buffer< T > &  result,
const Halide::Buffer< T > &  expected 
)
inline

Definition at line 155 of file utils.h.

References result.

template<typename T >
void compare_buffers_approximately ( const std::string &  test,
const Halide::Buffer< T > &  result,
const Halide::Buffer< T > &  expected,
float  threshold 
)
inline

Definition at line 91 of file utils.h.

References result.

Referenced by compare_buffers_approximately().

template<typename T >
void compare_buffers_approximately ( const std::string &  test,
const Halide::Buffer< T > &  result,
const Halide::Buffer< T > &  expected 
)
inline

Definition at line 119 of file utils.h.

References compare_buffers_approximately().

template<typename T >
void compare_dist_buffers ( const std::string &  test,
const Halide::Buffer< T > &  expected_result 
)
inline

Definition at line 183 of file utils.h.

References result.

template<typename T >
void copy_buffer ( const Halide::Buffer< T > &  from,
Halide::Buffer< T > &  to 
)
inline

Definition at line 68 of file utils.h.

template<typename T >
void init_2D_buffer_interleaving ( Halide::Buffer< T > &  buf,
val1,
val2 
)
inline

Create an array {val1, val2, val1, val2, val1, val2, val1, val2, ...}.

Definition at line 241 of file utils.h.

template<typename T >
void init_buffer ( Halide::Buffer< T > &  buf,
val 
)
inline

Definition at line 23 of file utils.h.

double median ( std::vector< std::chrono::duration< double, std::milli >>  scores)
template<typename T >
void print_buffer ( const Halide::Buffer< T > &  buf)
inline

Definition at line 38 of file utils.h.

void print_test_results ( const std::string &  test,
bool  success 
)
inline

success: a boolean indicating whether the test succeeded.

Definition at line 227 of file utils.h.

void print_time ( const std::string &  file_name,
const std::string &  kernel_name,
const std::vector< std::string > &  header_text,
const std::vector< double > &  time_vector 
)
template<typename T , typename C >
void store_dist_results ( const std::string &  test,
int  rank,
const Halide::Buffer< T > &  result 
)
inline

Definition at line 208 of file utils.h.

References combine_dist_results(), and result.