Program Listing for File partition.h¶
↰ Return to documentation for file (src/partition/partition.h)
#ifndef PARTITION_H
#define PARTITION_H
#include <future>
#include "defs.h"
#include "initial.h"
#include "refine/RefinementFacade.h"
#include "refine/pipeline/CandidateSelector.h"
#include "refine/pipeline/FPGARemapper.h"
void COCP(MultilevelCoarsener &mc, const graph &finest, const fpga &fpgas,
const PartitionParams ¶, int thread,
vector<vector<int>> &candidate_parts,
vector<vector<VectorXi>> &candidate_available_resources,
HSFullTiming::HSPartitionFlow &pFlow);
void V_Cycle(graph &finest, const fpga &fpgas, const PartitionParams ¶,
int thread, vector<vector<int>> &candidate_parts,
vector<vector<VectorXi>> &candidate_available_resources,
HSFullTiming::HSPartitionFlow &pFlow);
int multilevel(const graph &finest, const fpga &fpgas,
const PartitionParams ¶, int thread, int coarsen_order,
vector<vector<int>> &multi_candidate_parts,
vector<vector<VectorXi>> &multi_candidate_available_resources,
vector<Metrics> &multi_candidate_metrics, mutex &mtx,
HSFullTiming::HSPartitionFlow &pFlow);
int partition(graph &finest, fpga &fpgas, vector<int> &parts,
const PartitionParams ¶, int thread,
HSFullTiming::HSPartitionFlow &pFlow);
int partition(graph &finest, fpga &fpgas, vector<int> &parts,
const PartitionParams ¶, int thread,
flat_hash_map<string, fixInfo> &fixed_assignment,
unordered_map<string, vector<string>> &group_assignment,
flat_hash_map<string, int> &name_map,
HSFullTiming::HSPartitionFlow &pFlow);
void separateGraph(const graph &finest, const fpga &fpgas,
const vector<int> &parts, vector<graph> &sub_graphs,
vector<flat_hash_map<int, int>> &id2node);
int partitionHierarchyGraph(
graph &finest, const hierarchy &hierarchy_root, const PartitionParams ¶,
int thread, vector<vector<int>> &node_paths,
HSFullTiming::HSPartitionFlow &pFlow,
vector<HierarchyPartitionCutRecord> *cut_records = nullptr,
graph *dedup_root_graph = nullptr);
#endif