#include <iostream>
#include <cstdint>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <fstream>
#include <string>
#include <cmath>
#include <cassert>
#include <cstring>
#include <memory>
#include <Eigen/Core>
Go to the source code of this file.
Classes | |
struct | action_t |
struct | evaluate_defaults_action_t |
struct | inputfile_entry_t |
struct | inputfile_t |
struct | partition_action_t |
struct | preprocessed_inputfile_entry_t |
struct | preprocessed_inputfile_t |
struct | evaluate_defaults_action_t::results_entry_t |
struct | size_triple_t |
Functions | |
void | check_all_files_in_same_exact_order (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles) |
uint16_t | compact_size_triple (size_t k, size_t m, size_t n) |
void | dump_table_for_subset (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, const vector< size_t > &subset) |
float | efficiency_of_partition (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, const vector< vector< size_t >> &partition) |
float | efficiency_of_subset (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, const vector< size_t > &subset) |
void | find_partition_with_efficiency_higher_than (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, float required_efficiency_to_beat, vector< vector< size_t >> &out_partition) |
void | find_subset_with_efficiency_higher_than (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, float required_efficiency_to_beat, vector< size_t > &inout_remainder, vector< size_t > &out_subset) |
bool | is_last_subset (const vector< size_t > &subset, size_t set_size) |
bool | is_number_of_subsets_feasible (size_t n, size_t p) |
uint8_t | log2_pot (size_t x) |
bool | lower_efficiency (const preprocessed_inputfile_entry_t &e1, const preprocessed_inputfile_entry_t &e2) |
int | main (int argc, char *argv[]) |
void | make_first_subset (size_t subset_size, vector< size_t > &out_subset, size_t set_size) |
size_t | max_feasible_subset_size (size_t n) |
void | next_subset (vector< size_t > &inout_subset, size_t set_size) |
ostream & | operator<< (ostream &s, const size_triple_t &t) |
void | print_partition (const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, const vector< vector< size_t >> &partition) |
void | show_usage_and_exit (int argc, char *argv[], const vector< unique_ptr< action_t >> &available_actions) |
Variables | |
const size_t | always_search_subsets_of_size_at_least = 2 |
const int | default_precision = 4 |
bool | dump_tables = false |
const size_t | number_of_subsets_limit = 100 |
bool | only_cubic_sizes = false |
void check_all_files_in_same_exact_order | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles | ) |
Definition at line 257 of file analyze-blocking-sizes.cpp.
Definition at line 40 of file analyze-blocking-sizes.cpp.
void dump_table_for_subset | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles, |
const vector< size_t > & | subset | ||
) |
Definition at line 334 of file analyze-blocking-sizes.cpp.
float efficiency_of_partition | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles, |
const vector< vector< size_t >> & | partition | ||
) |
Definition at line 400 of file analyze-blocking-sizes.cpp.
float efficiency_of_subset | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles, |
const vector< size_t > & | subset | ||
) |
Definition at line 297 of file analyze-blocking-sizes.cpp.
void find_partition_with_efficiency_higher_than | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles, |
float | required_efficiency_to_beat, | ||
vector< vector< size_t >> & | out_partition | ||
) |
Definition at line 545 of file analyze-blocking-sizes.cpp.
void find_subset_with_efficiency_higher_than | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles, |
float | required_efficiency_to_beat, | ||
vector< size_t > & | inout_remainder, | ||
vector< size_t > & | out_subset | ||
) |
Definition at line 473 of file analyze-blocking-sizes.cpp.
Definition at line 420 of file analyze-blocking-sizes.cpp.
Definition at line 447 of file analyze-blocking-sizes.cpp.
Definition at line 34 of file analyze-blocking-sizes.cpp.
bool lower_efficiency | ( | const preprocessed_inputfile_entry_t & | e1, |
const preprocessed_inputfile_entry_t & | e2 | ||
) |
Definition at line 203 of file analyze-blocking-sizes.cpp.
Definition at line 810 of file analyze-blocking-sizes.cpp.
Definition at line 411 of file analyze-blocking-sizes.cpp.
Definition at line 461 of file analyze-blocking-sizes.cpp.
Definition at line 425 of file analyze-blocking-sizes.cpp.
ostream& operator<< | ( | ostream & | s, |
const size_triple_t & | t | ||
) |
Definition at line 61 of file analyze-blocking-sizes.cpp.
void print_partition | ( | const vector< preprocessed_inputfile_t > & | preprocessed_inputfiles, |
const vector< vector< size_t >> & | partition | ||
) |
Definition at line 568 of file analyze-blocking-sizes.cpp.
void show_usage_and_exit | ( | int | argc, |
char * | argv[], | ||
const vector< unique_ptr< action_t >> & | available_actions | ||
) |
Definition at line 798 of file analyze-blocking-sizes.cpp.
const size_t always_search_subsets_of_size_at_least = 2 |
Definition at line 445 of file analyze-blocking-sizes.cpp.
const int default_precision = 4 |
Definition at line 26 of file analyze-blocking-sizes.cpp.
bool dump_tables = false |
Definition at line 32 of file analyze-blocking-sizes.cpp.
const size_t number_of_subsets_limit = 100 |
Definition at line 444 of file analyze-blocking-sizes.cpp.
bool only_cubic_sizes = false |
Definition at line 29 of file analyze-blocking-sizes.cpp.