Classes | Macros | Typedefs | Functions | Variables
benchmark-blocking-sizes.cpp File Reference
#include <iostream>
#include <cstdint>
#include <cstdlib>
#include <vector>
#include <fstream>
#include <memory>
#include <cstdio>
#include <Eigen/Core>
#include <bench/BenchTimer.h>
Include dependency graph for benchmark-blocking-sizes.cpp:

Go to the source code of this file.

Classes

struct  action_t
 
struct  benchmark_t
 
struct  human_duration_t
 
struct  measure_all_pot_sizes_action_t
 
struct  measure_default_sizes_action_t
 
struct  size_triple_t
 

Macros

#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_K   eigen_block_size_k
 
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_M   eigen_block_size_m
 
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_N   eigen_block_size_n
 
#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZES   eigen_use_specific_block_size
 

Typedefs

typedef MatrixXf MatrixType
 
typedef internal::packet_traits< Scalar >::type Packet
 
typedef MatrixType::Scalar Scalar
 

Functions

uint16_t compact_size_triple (size_t k, size_t m, size_t n)
 
uint16_t compact_size_triple (const size_triple_t &t)
 
bool deserialize_benchmarks (const char *filename, vector< benchmark_t > &benchmarks, size_t &first_benchmark_to_run)
 
uint8_t log2_pot (size_t x)
 
int main (int argc, char *argv[])
 
float measure_clock_speed ()
 
bool operator< (const benchmark_t &b1, const benchmark_t &b2)
 
ostream & operator<< (ostream &s, const benchmark_t &b)
 
ostream & operator<< (ostream &s, const human_duration_t &d)
 
void print_cpuinfo ()
 
void run_benchmarks (vector< benchmark_t > &benchmarks)
 
void serialize_benchmarks (const char *filename, const vector< benchmark_t > &benchmarks, size_t first_benchmark_to_run)
 
void show_usage_and_exit (int, char *argv[], const vector< unique_ptr< action_t >> &available_actions)
 
void try_run_some_benchmarks (vector< benchmark_t > &benchmarks, double time_start, size_t &first_benchmark_to_run)
 
template<typename T >
string type_name ()
 
template<>
string type_name< double > ()
 
template<>
string type_name< float > ()
 

Variables

int eigen_block_size_k
 
int eigen_block_size_m
 
int eigen_block_size_n
 
bool eigen_use_specific_block_size
 
float max_clock_speed = 0.0f
 
const size_t maxsize = 2048
 
const int measurement_repetitions = 3
 
const float min_accurate_time = 1e-2f
 
size_t min_working_set_size = 0
 
const size_t minsize = 16
 
const char session_filename [] = "/data/local/tmp/benchmark-blocking-sizes-session.data"
 
static BenchTimer timer
 

Macro Definition Documentation

◆ EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_K

#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_K   eigen_block_size_k

Definition at line 21 of file benchmark-blocking-sizes.cpp.

◆ EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_M

#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_M   eigen_block_size_m

Definition at line 22 of file benchmark-blocking-sizes.cpp.

◆ EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_N

#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZE_N   eigen_block_size_n

Definition at line 23 of file benchmark-blocking-sizes.cpp.

◆ EIGEN_TEST_SPECIFIC_BLOCKING_SIZES

#define EIGEN_TEST_SPECIFIC_BLOCKING_SIZES   eigen_use_specific_block_size

Definition at line 20 of file benchmark-blocking-sizes.cpp.

Typedef Documentation

◆ MatrixType

typedef MatrixXf MatrixType

Definition at line 52 of file benchmark-blocking-sizes.cpp.

◆ Packet

typedef internal::packet_traits<Scalar>::type Packet

Definition at line 54 of file benchmark-blocking-sizes.cpp.

◆ Scalar

typedef MatrixType::Scalar Scalar

Definition at line 53 of file benchmark-blocking-sizes.cpp.

Function Documentation

◆ compact_size_triple() [1/2]

uint16_t compact_size_triple ( size_t  k,
size_t  m,
size_t  n 
)

Definition at line 85 of file benchmark-blocking-sizes.cpp.

◆ compact_size_triple() [2/2]

uint16_t compact_size_triple ( const size_triple_t t)

Definition at line 90 of file benchmark-blocking-sizes.cpp.

◆ deserialize_benchmarks()

bool deserialize_benchmarks ( const char *  filename,
vector< benchmark_t > &  benchmarks,
size_t first_benchmark_to_run 
)

Definition at line 361 of file benchmark-blocking-sizes.cpp.

◆ log2_pot()

uint8_t log2_pot ( size_t  x)

Definition at line 76 of file benchmark-blocking-sizes.cpp.

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 621 of file benchmark-blocking-sizes.cpp.

◆ measure_clock_speed()

float measure_clock_speed ( )

Definition at line 297 of file benchmark-blocking-sizes.cpp.

◆ operator<()

bool operator< ( const benchmark_t b1,
const benchmark_t b2 
)

Definition at line 144 of file benchmark-blocking-sizes.cpp.

◆ operator<<() [1/2]

ostream& operator<< ( ostream &  s,
const benchmark_t b 
)

Definition at line 127 of file benchmark-blocking-sizes.cpp.

◆ operator<<() [2/2]

ostream& operator<< ( ostream &  s,
const human_duration_t d 
)

Definition at line 324 of file benchmark-blocking-sizes.cpp.

◆ print_cpuinfo()

void print_cpuinfo ( )

Definition at line 231 of file benchmark-blocking-sizes.cpp.

◆ run_benchmarks()

void run_benchmarks ( vector< benchmark_t > &  benchmarks)

Definition at line 501 of file benchmark-blocking-sizes.cpp.

◆ serialize_benchmarks()

void serialize_benchmarks ( const char *  filename,
const vector< benchmark_t > &  benchmarks,
size_t  first_benchmark_to_run 
)

Definition at line 345 of file benchmark-blocking-sizes.cpp.

◆ show_usage_and_exit()

void show_usage_and_exit ( int  ,
char *  argv[],
const vector< unique_ptr< action_t >> &  available_actions 
)

Definition at line 276 of file benchmark-blocking-sizes.cpp.

◆ try_run_some_benchmarks()

void try_run_some_benchmarks ( vector< benchmark_t > &  benchmarks,
double  time_start,
size_t first_benchmark_to_run 
)

Definition at line 385 of file benchmark-blocking-sizes.cpp.

◆ type_name()

template<typename T >
string type_name ( )

Definition at line 252 of file benchmark-blocking-sizes.cpp.

◆ type_name< double >()

template<>
string type_name< double > ( )

Definition at line 264 of file benchmark-blocking-sizes.cpp.

◆ type_name< float >()

template<>
string type_name< float > ( )

Definition at line 258 of file benchmark-blocking-sizes.cpp.

Variable Documentation

◆ eigen_block_size_k

int eigen_block_size_k

Definition at line 19 of file benchmark-blocking-sizes.cpp.

◆ eigen_block_size_m

int eigen_block_size_m

Definition at line 19 of file benchmark-blocking-sizes.cpp.

◆ eigen_block_size_n

int eigen_block_size_n

Definition at line 19 of file benchmark-blocking-sizes.cpp.

◆ eigen_use_specific_block_size

bool eigen_use_specific_block_size

Definition at line 18 of file benchmark-blocking-sizes.cpp.

◆ max_clock_speed

float max_clock_speed = 0.0f

Definition at line 46 of file benchmark-blocking-sizes.cpp.

◆ maxsize

const size_t maxsize = 2048

Definition at line 49 of file benchmark-blocking-sizes.cpp.

◆ measurement_repetitions

const int measurement_repetitions = 3

Definition at line 36 of file benchmark-blocking-sizes.cpp.

◆ min_accurate_time

const float min_accurate_time = 1e-2f

Definition at line 41 of file benchmark-blocking-sizes.cpp.

◆ min_working_set_size

size_t min_working_set_size = 0

Definition at line 44 of file benchmark-blocking-sizes.cpp.

◆ minsize

const size_t minsize = 16

Definition at line 50 of file benchmark-blocking-sizes.cpp.

◆ session_filename

const char session_filename[] = "/data/local/tmp/benchmark-blocking-sizes-session.data"

Definition at line 343 of file benchmark-blocking-sizes.cpp.

◆ timer

BenchTimer timer
static

Definition at line 31 of file benchmark-blocking-sizes.cpp.



gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:40:47