518 vector<preprocessed_inputfile_t> preprocessed_inputfiles;
520 if (input_filenames.empty()) {
521 cerr <<
"The " <<
invokation_name() <<
" action needs a list of input files." << endl;
525 for (
auto it = input_filenames.begin(); it != input_filenames.end(); ++it) {
527 switch (inputfile.type) {
529 preprocessed_inputfiles.emplace_back(inputfile);
532 cerr <<
"The " <<
invokation_name() <<
" action only uses measurements for all pot sizes, and "
533 <<
"has no use for " << *it <<
" which contains measurements for default sizes." << endl;
537 cerr <<
"Unrecognized input file: " << *it << endl;
544 float required_efficiency_to_beat = 0.0f;
545 vector<vector<vector<size_t>>> partitions;
546 cerr <<
"searching for partitions...\r" << flush;
548 vector<vector<size_t>> partition;
551 cerr <<
"partition " << preprocessed_inputfiles.size() <<
" files into " << partition.size() <<
" subsets for "
552 << 100.0f * actual_efficiency <<
" % efficiency"
554 partitions.push_back(partition);
555 if (partition.size() == preprocessed_inputfiles.size() || actual_efficiency == 1.0f) {
558 required_efficiency_to_beat = actual_efficiency;
563 for (
size_t i = 0;
i < partitions.size() - 1;
i++) {
564 if (partitions[
i].
size() >= partitions[
i + 1].
size()) {
565 partitions.erase(partitions.begin() +
i);
574 for (
auto it = partitions.begin(); it != partitions.end(); ++it) {
int i
Definition: BiCGSTAB_step_by_step.cpp:9
void check_all_files_in_same_exact_order(const vector< preprocessed_inputfile_t > &preprocessed_inputfiles)
Definition: analyze-blocking-sizes.cpp:215
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: analyze-blocking-sizes.cpp:470
float efficiency_of_partition(const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, const vector< vector< size_t >> &partition)
Definition: analyze-blocking-sizes.cpp:341
void print_partition(const vector< preprocessed_inputfile_t > &preprocessed_inputfiles, const vector< vector< size_t >> &partition)
Definition: analyze-blocking-sizes.cpp:488
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
constexpr array< t, n > repeat(t v)
Definition: MoreMeta.h:583
virtual const char * invokation_name() const override
Definition: analyze-blocking-sizes.cpp:516