CGRA-ME
|
#include <CGRA/ILPMapper.h>
#include <algorithm>
#include <CGRA/CGRA.h>
#include <CGRA/ConstraintSet.h>
#include <CGRA/Exception.h>
#include <CGRA/MRRGProcedures.h>
#include <CGRA/OpGraphProcedures.h>
#include <CGRA/utility/Collections.h>
#include <gurobi_c++.h>
Go to the source code of this file.
Functions | |
std::ostream & | operator<< (std::ostream &os, const ILPMapper::ConstraintGroup &lct) |
Variables | |
static const std::map< ILPMapper::ConstraintGroup, std::string > | lazy_constraint_names |
AutoRegisterMapper | ILPMapper_arm ("ILPMapper", [](std::shared_ptr< CGRA > cgra, int timelimit, const ConfigStore &args) { return std::make_unique< ILPMapper >(cgra, timelimit, args);}, false, "Fully encode the mapping problem in an ILP.\n" "Initially presented in 'An Architecture-Agnostic Integer Linear Programming Approach to CGRA Mapping' (DAC 2018)", { {"enable_topological_order_costing_by_max", 0, ""}, {"enable_topological_order_costing_by_sum", 0, ""}, {"enable_topological_order_mode", 0, ""}, {"lazy_constraint_add_mode", 0, ""}, {"max_threads", 1, ""}, {"mip_gap", 0.2, "Relative threshold on the difference between the primal and dual cost functions to consider a solution optimal"}, {"per_value_topological_order_variables", 0, ""}, {"seed", 0, ""}, {"solution_limit", 1, "Maximum number of solutions that will be considered before giving up and taking the lowest cost one found. Larger values generally lead to more optimal solutions."}, {"model_dump_filename", "", ""}, {"model_IIS_dump_filename", "", ""}, {"verbosity", 0, ""}, }, { {"enable_lazy_constraint_.*", "boolean, controls whether the constraint group that follows is added lazily"}, }) |
std::ostream& operator<< | ( | std::ostream & | os, |
const ILPMapper::ConstraintGroup & | lct | ||
) |
Definition at line 56 of file ILPMapper.cpp.
AutoRegisterMapper ILPMapper_arm("ILPMapper",[](std::shared_ptr< CGRA > cgra, int timelimit, const ConfigStore &args) { return std::make_unique< ILPMapper >(cgra, timelimit, args);}, false, "Fully encode the mapping problem in an ILP.\n" "Initially presented in 'An Architecture-Agnostic Integer Linear Programming Approach to CGRA Mapping' (DAC 2018)", { {"enable_topological_order_costing_by_max", 0, ""}, {"enable_topological_order_costing_by_sum", 0, ""}, {"enable_topological_order_mode", 0, ""}, {"lazy_constraint_add_mode", 0, ""}, {"max_threads", 1, ""}, {"mip_gap", 0.2, "Relative threshold on the difference between the primal and dual cost functions to consider a solution optimal"}, {"per_value_topological_order_variables", 0, ""}, {"seed", 0, ""}, {"solution_limit", 1, "Maximum number of solutions that will be considered before giving up and taking the lowest cost one found. Larger values generally lead to more optimal solutions."}, {"model_dump_filename", "", ""}, {"model_IIS_dump_filename", "", ""}, {"verbosity", 0, ""}, }, { {"enable_lazy_constraint_.*", "boolean, controls whether the constraint group that follows is added lazily"}, }) |
|
static |
Definition at line 40 of file ILPMapper.cpp.