Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
1fc47b3
clang-tidy file
raphael-s-steiner Dec 12, 2025
3a6088b
added regex exceptions to clang-tidy for std compatability
tonibohnlein Dec 12, 2025
2e3c5d0
applied clang-tidy
tonibohnlein Dec 12, 2025
192daed
coin flips
raphael-s-steiner Dec 12, 2025
09ef95e
fixed divisors
raphael-s-steiner Dec 12, 2025
5d741a0
concepts
tonibohnlein Dec 12, 2025
23353cf
PairHash
raphael-s-steiner Dec 12, 2025
dbd7a7f
glob concepts replace
tonibohnlein Dec 12, 2025
8f18fb9
glob concepts replace
tonibohnlein Dec 12, 2025
285732f
glob concepts replace
tonibohnlein Dec 12, 2025
074e486
heaps fixed
raphael-s-steiner Dec 12, 2025
2de6c83
intpower
raphael-s-steiner Dec 12, 2025
38d143d
iterators
raphael-s-steiner Dec 12, 2025
ad1fe94
glob numedges numVertices
tonibohnlein Dec 12, 2025
e6a43b1
permutations
raphael-s-steiner Dec 12, 2025
01e5931
setoperatiosn
raphael-s-steiner Dec 12, 2025
3710400
glob vertex type
tonibohnlein Dec 12, 2025
9d89e2e
glob vertex weights
tonibohnlein Dec 12, 2025
f2687d7
sorts and arrangements
raphael-s-steiner Dec 12, 2025
11fefac
glob edge weights
tonibohnlein Dec 12, 2025
c88e641
union find
raphael-s-steiner Dec 12, 2025
e8b92e6
glob edge source target access
tonibohnlein Dec 12, 2025
df21bcd
cdag construction
tonibohnlein Dec 12, 2025
dcb2cdc
graph algorithms visual, in/out_degree glob
tonibohnlein Dec 12, 2025
e4e08b5
graph algorithms
tonibohnlein Dec 12, 2025
9a5dcc3
bsp model visual
tonibohnlein Dec 12, 2025
2da9a2e
concepts CamelCase
tonibohnlein Dec 12, 2025
424d12d
dotfile writeer
raphael-s-steiner Dec 12, 2025
7877422
more concepts
tonibohnlein Dec 12, 2025
3b64895
concepts
tonibohnlein Dec 12, 2025
8bd565d
instance, proc, steps glob
tonibohnlein Dec 12, 2025
ee7725a
getarch, synch, comm glob
tonibohnlein Dec 12, 2025
9a76d6c
numberOfVertices. getinstance glob
tonibohnlein Dec 12, 2025
616c80d
parents, children glob
tonibohnlein Dec 12, 2025
1af7b39
architecture
raphael-s-steiner Dec 12, 2025
dac76c2
glob v_workw_t
tonibohnlein Dec 12, 2025
f77e8a1
glob work,mem
tonibohnlein Dec 12, 2025
018941f
glob Graph_t, vertex_idx_t
tonibohnlein Dec 12, 2025
3beb269
misc
tonibohnlein Dec 12, 2025
301d355
glob hash_combine
tonibohnlein Dec 12, 2025
281e7df
return status glob, removed kl
tonibohnlein Dec 12, 2025
360479a
glob edge_desc_t
tonibohnlein Dec 12, 2025
060c8dd
concepts
tonibohnlein Dec 12, 2025
e9ad9ec
Graph_t_out, in vtype t glob
tonibohnlein Dec 12, 2025
e2bdc4d
bsp sched file writer
raphael-s-steiner Dec 12, 2025
55266df
dot graph reader
raphael-s-steiner Dec 12, 2025
d276417
added static for compile time optimisation
raphael-s-steiner Dec 12, 2025
6928932
hdag file reader
raphael-s-steiner Dec 12, 2025
34969d8
coarser stuff
tonibohnlein Dec 12, 2025
230010a
mtx reader and writer
raphael-s-steiner Dec 12, 2025
f2b1109
pebbling file writer
raphael-s-steiner Dec 12, 2025
3e5ab1a
divisors
raphael-s-steiner Dec 12, 2025
ab6240e
graph generators
raphael-s-steiner Dec 12, 2025
e45033f
misc
tonibohnlein Dec 12, 2025
0f0a7bb
sptrsv
raphael-s-steiner Dec 12, 2025
a67f8e5
kl stuff
tonibohnlein Dec 12, 2025
b09d934
assigned superstep
raphael-s-steiner Dec 12, 2025
fd2f202
assigned processor
raphael-s-steiner Dec 12, 2025
0c57c84
getnum processor types
raphael-s-steiner Dec 12, 2025
f884cee
in degree
raphael-s-steiner Dec 12, 2025
23a1cfe
serial progress
raphael-s-steiner Dec 12, 2025
83740d8
setassigned processor
raphael-s-steiner Dec 12, 2025
a439ac8
set assigned superstep
raphael-s-steiner Dec 12, 2025
5f09156
serial
raphael-s-steiner Dec 12, 2025
81b2d3c
set number of supersteps
raphael-s-steiner Dec 12, 2025
5d5d685
scheduler
raphael-s-steiner Dec 12, 2025
c36957c
bsp_instance test build
tonibohnlein Dec 12, 2025
d768b07
ml coarse and schedule
raphael-s-steiner Dec 12, 2025
75a5d7a
satisfies precedence constraints
raphael-s-steiner Dec 12, 2025
4b77dc1
architecture test build
tonibohnlein Dec 12, 2025
0dea8ba
vertices
raphael-s-steiner Dec 12, 2025
762475c
compute schedule
raphael-s-steiner Dec 12, 2025
816d69f
arch
tonibohnlein Dec 12, 2025
b332d14
kl_v2 -> kl
tonibohnlein Dec 12, 2025
fead44d
misc
tonibohnlein Dec 14, 2025
96b67e4
misc
tonibohnlein Dec 14, 2025
807d130
misc
tonibohnlein Dec 14, 2025
04c9121
misc
tonibohnlein Dec 14, 2025
9f0b0ee
getstaleness
raphael-s-steiner Dec 15, 2025
7e193d5
misc
tonibohnlein Dec 14, 2025
4f69daf
misc
tonibohnlein Dec 14, 2025
f8bb986
misc
tonibohnlein Dec 15, 2025
e7096f0
architecture fixes
raphael-s-steiner Dec 15, 2025
8623d3f
assigned processors
raphael-s-steiner Dec 15, 2025
5b18e01
get Scheduler name
raphael-s-steiner Dec 15, 2025
5b45893
compute schedule CS
raphael-s-steiner Dec 15, 2025
2f8646c
set auto communicate schedule
raphael-s-steiner Dec 15, 2025
eb7298f
get coarser name
raphael-s-steiner Dec 15, 2025
5405837
get comm schedule
raphael-s-steiner Dec 15, 2025
ef660f7
sendCosts
raphael-s-steiner Dec 15, 2025
6be6a0a
send costs2
raphael-s-steiner Dec 15, 2025
43d7337
to maxbsp converter
raphael-s-steiner Dec 15, 2025
eeae0a2
some greedt schedulers
raphael-s-steiner Dec 15, 2025
de0656d
partitioning
tonibohnlein Dec 15, 2025
17b330f
variance ssp
raphael-s-steiner Dec 15, 2025
baac174
pebblingSchedule
tonibohnlein Dec 15, 2025
bd5e40d
misc
tonibohnlein Dec 15, 2025
914a0e0
growlocal
raphael-s-steiner Dec 15, 2025
183ef06
copt comm
raphael-s-steiner Dec 15, 2025
fc19029
pebbling
tonibohnlein Dec 15, 2025
45bf582
partial ilp
raphael-s-steiner Dec 15, 2025
487fde1
improve schedule
raphael-s-steiner Dec 15, 2025
0c23180
total comm scheduler ilp
raphael-s-steiner Dec 15, 2025
bd8540b
light edge variance
raphael-s-steiner Dec 15, 2025
293a49c
variance partitioner
raphael-s-steiner Dec 15, 2025
a7e151f
graph_algorithms
tonibohnlein Dec 15, 2025
0eb8788
glob constructComputationalDag
tonibohnlein Dec 15, 2025
3b33107
coarsers
raphael-s-steiner Dec 15, 2025
73d9c12
Sarkar
raphael-s-steiner Dec 15, 2025
522b9ea
glob csc/csr
tonibohnlein Dec 15, 2025
1363d38
coarser util
raphael-s-steiner Dec 15, 2025
af17290
in out edges
raphael-s-steiner Dec 15, 2025
889b4bb
edges
raphael-s-steiner Dec 15, 2025
5148bc0
hashcombine
tonibohnlein Dec 15, 2025
1a9811e
compdag vert impl T
raphael-s-steiner Dec 15, 2025
0e0bf5c
vertex indx
raphael-s-steiner Dec 15, 2025
49bc2fa
dag_divider
tonibohnlein Dec 15, 2025
5978e96
add vertex
raphael-s-steiner Dec 15, 2025
36662c7
add edge
raphael-s-steiner Dec 15, 2025
f6bcfaf
edge view
raphael-s-steiner Dec 15, 2025
c00c335
compact sparse graph
raphael-s-steiner Dec 15, 2025
2bb8c85
compact sparse graph edge descriptor
raphael-s-steiner Dec 15, 2025
6d3730d
what a waste of time
tonibohnlein Dec 15, 2025
ce63e31
read graph and architecture
raphael-s-steiner Dec 15, 2025
baa0489
coarser
raphael-s-steiner Dec 15, 2025
45bb2e4
graph type
raphael-s-steiner Dec 15, 2025
51f0325
ComputationalDagVectorImplDefUnsignedT
raphael-s-steiner Dec 15, 2025
39316f2
coarser
raphael-s-steiner Dec 15, 2025
518c03c
some setters
raphael-s-steiner Dec 15, 2025
5cabc6b
bsp schedule progress
raphael-s-steiner Dec 15, 2025
1b0e099
fix
raphael-s-steiner Dec 15, 2025
424c646
bsp schedule
raphael-s-steiner Dec 15, 2025
5ccfc65
read
raphael-s-steiner Dec 15, 2025
6b9c07f
bsp recompute
raphael-s-steiner Dec 15, 2025
0a8f58a
local search
tonibohnlein Dec 15, 2025
b449a1c
bsp schedulers
raphael-s-steiner Dec 15, 2025
cfd9108
hypergraphimpl
raphael-s-steiner Dec 15, 2025
d633c5c
partitioning
tonibohnlein Dec 15, 2025
b4a94ff
compiling
raphael-s-steiner Dec 15, 2025
617c077
boost graph int
raphael-s-steiner Dec 15, 2025
2620217
graph generator
tonibohnlein Dec 15, 2025
910bb30
fix
tonibohnlein Dec 15, 2025
03b9539
subgraphs
raphael-s-steiner Dec 15, 2025
b6b0486
graph tests
tonibohnlein Dec 15, 2025
3e0030d
wave front divider
raphael-s-steiner Dec 15, 2025
2454e4c
divide component
raphael-s-steiner Dec 15, 2025
80f6761
dag_divider
tonibohnlein Dec 15, 2025
6f10e8c
directed graph tests
tonibohnlein Dec 15, 2025
b496238
misc
tonibohnlein Dec 15, 2025
6cfff6e
misc
tonibohnlein Dec 16, 2025
e971720
subgraph
raphael-s-steiner Dec 16, 2025
9b3f761
random graph gen
raphael-s-steiner Dec 16, 2025
e0c668a
pebbling schedule
raphael-s-steiner Dec 16, 2025
99f23b1
kl_util
tonibohnlein Dec 16, 2025
f33a2be
orbit graph processor
raphael-s-steiner Dec 16, 2025
ce1c766
kl_lambda
tonibohnlein Dec 16, 2025
0a7dbd3
merkle hash
raphael-s-steiner Dec 16, 2025
557f07f
kl_total
tonibohnlein Dec 16, 2025
515f5b0
Variance ssp
raphael-s-steiner Dec 16, 2025
8aa8afb
max bsp converter
raphael-s-steiner Dec 16, 2025
117e4b5
iso mapper
raphael-s-steiner Dec 16, 2025
d436220
iso subgraph
raphael-s-steiner Dec 16, 2025
37eeb90
mckee
raphael-s-steiner Dec 16, 2025
f140bc7
bsp mem schedulers
raphael-s-steiner Dec 16, 2025
36a78b9
kl test
raphael-s-steiner Dec 16, 2025
94b098a
minor updates to tests
raphael-s-steiner Dec 16, 2025
fdb8bd6
misc
raphael-s-steiner Dec 16, 2025
d20ad3c
kl_affinity_test
tonibohnlein Dec 16, 2025
d034e78
kl_bsp_cost
tonibohnlein Dec 16, 2025
a708c55
kl bsp improver test
tonibohnlein Dec 16, 2025
e92428e
kl mem constr
tonibohnlein Dec 16, 2025
0be1551
building
tonibohnlein Dec 16, 2025
4bc9f81
debug build
tonibohnlein Dec 16, 2025
5936779
fix top order test
tonibohnlein Dec 16, 2025
278610f
hill climbing
tonibohnlein Dec 16, 2025
eb582e7
kl fix
tonibohnlein Dec 16, 2025
cea2f6a
stepbystep
tonibohnlein Dec 16, 2025
e2b39c1
hill climbing
raphael-s-steiner Dec 16, 2025
d49a759
hill climbing comm
raphael-s-steiner Dec 16, 2025
6bb2286
extra tests
raphael-s-steiner Dec 16, 2025
6e03abe
wavefrot scheduler fix
tonibohnlein Dec 16, 2025
7c1c58d
bug
raphael-s-steiner Dec 16, 2025
be6e1e8
fixed namespace
raphael-s-steiner Dec 16, 2025
a8faa4b
somefixes
raphael-s-steiner Dec 16, 2025
ac6a411
kl move
raphael-s-steiner Dec 16, 2025
0b6b0e3
step by step coarser
raphael-s-steiner Dec 16, 2025
56612c0
some fixes
raphael-s-steiner Dec 16, 2025
cd465b0
more small fixes
raphael-s-steiner Dec 16, 2025
6abe001
small changes
raphael-s-steiner Dec 16, 2025
8097496
small fix
raphael-s-steiner Dec 16, 2025
5e554a9
small fix
raphael-s-steiner Dec 16, 2025
cfe7741
small fix
raphael-s-steiner Dec 16, 2025
fac0b24
update bool flags
raphael-s-steiner Dec 16, 2025
06104dc
bool flags update
raphael-s-steiner Dec 16, 2025
9f83aa6
bool flasg update
raphael-s-steiner Dec 16, 2025
fb3800c
small fix
raphael-s-steiner Dec 16, 2025
eaf173e
small fixes
raphael-s-steiner Dec 16, 2025
c638d22
small fixes
raphael-s-steiner Dec 16, 2025
067c42d
small fixes
raphael-s-steiner Dec 16, 2025
4ff570e
progress ilps
tonibohnlein Dec 16, 2025
0d3359e
small fixes
raphael-s-steiner Dec 16, 2025
3881f49
minor fixes
raphael-s-steiner Dec 17, 2025
0ace342
minor fix
raphael-s-steiner Dec 17, 2025
e42bf8f
minor fix
raphael-s-steiner Dec 17, 2025
4dc6060
small fix
raphael-s-steiner Dec 17, 2025
66980de
minor fix
raphael-s-steiner Dec 17, 2025
beff76c
ilp_pebbling_scheduler
tonibohnlein Dec 18, 2025
9241d1d
ilp tests, removed run-clang-tidy
tonibohnlein Dec 18, 2025
fd2b653
apply clang-format
tonibohnlein Dec 19, 2025
79b2a99
removed duplicate lines
raphael-s-steiner Dec 19, 2025
cb8f29d
ilp files/tests fix
papp-pal-andras Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 87 additions & 10 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,24 +1,101 @@
Checks: '-*,readability-identifier-naming'

CheckOptions:
# 1. Member Variables: camelBack with a trailing underscore (e.g., memberVariableTest_)
- key: readability-identifier-naming.MemberCase
- key: readability-identifier-naming.AggressiveDependentMemberLookup
value: 1

- key: readability-identifier-naming.AbstractClassCase
value: CamelCase

- key: readability-identifier-naming.ClassCase
value: CamelCase

- key: readability-identifier-naming.ClassConstexprCase
value: camelBack
- key: readability-identifier-naming.MemberSuffix
- key: readability-identifier-naming.ClassConstexprSuffix
value: _

- key: readability-identifier-naming.ClassConstantCase
value: camelBack
- key: readability-identifier-naming.ClassConstantSuffix
value: _

- key: readability-identifier-naming.ClassMemberCase
value: camelBack
- key: readability-identifier-naming.ClassMemberSuffix
value: _

# 2. Functions: CamelCase (e.g., CalculateTotal)
- key: readability-identifier-naming.ClassMethodCase
value: CamelCase
- key: readability-identifier-naming.ClassMethodIgnoredRegexp
value: "^(begin|cbegin|end|cend|rbegin|crbegin|rend|crend|size|empty)$"

- key: readability-identifier-naming.EnumCase
value: CamelCase

- key: readability-identifier-naming.EnumConstantCase
value: UPPER_CASE

- key: readability-identifier-naming.FunctionCase
value: CamelCase

# 3. Local Variables/Parameters: camelBack (e.g., totalValue)
- key: readability-identifier-naming.VariableCase
- key: readability-identifier-naming.GlobalConstexprVariableCase
value: UPPER_CASE

- key: readability-identifier-naming.GlobalVariableCase
value: camelBack
- key: readability-identifier-naming.ParameterCase

- key: readability-identifier-naming.LocalVariableCase
value: camelBack

# 4. Classes/Structs: CamelCase (e.g., MyClass)
- key: readability-identifier-naming.ClassCase
- key: readability-identifier-naming.MacroDefinitionCase
value: UPPER_CASE

- key: readability-identifier-naming.MacroDefinitionIgnoredRegexp
value: '^[A-Z]+(_[A-Z]+)*_$'

- key: readability-identifier-naming.MemberCase
value: camelBack
- key: readability-identifier-naming.MemberSuffix
value: _

- key: readability-identifier-naming.MethodCase
value: CamelCase
- key: readability-identifier-naming.MethodIgnoredRegexp
value: "^(begin|cbegin|end|cend|rbegin|crbegin|rend|crend|size|empty)$"

- key: readability-identifier-naming.NamespaceCase
value: lower_case

- key: readability-identifier-naming.ParameterCase
value: camelBack

- key: readability-identifier-naming.ScopedEnumConstantCase
value: UPPER_CASE

- key: readability-identifier-naming.StructCase
value: CamelCase
value: CamelCase

- key: readability-identifier-naming.TemplateParameterCase
value: CamelCase

# Includes the fix for std::iterator_traits compatibility
- key: readability-identifier-naming.TypeAliasCase
value: CamelCase
- key: readability-identifier-naming.TypeAliasIgnoredRegexp
value: "^(iterator_category|difference_type|value_type|pointer|reference|const_pointer|const_reference)$"

- key: readability-identifier-naming.TypedefCase
value: CamelCase

- key: readability-identifier-naming.TypeTemplateParameterCase
value: CamelCase

- key: readability-identifier-naming.ValueTemplateParameterCase
value: camelBack

- key: readability-identifier-naming.VariableCase
value: camelBack

- key: readability-identifier-naming.IgnoreMainLikeFunctions
value: 1
6 changes: 3 additions & 3 deletions apps/bsp_test_suite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ limitations under the License.
#include "osp/graph_implementations/adj_list_impl/computational_dag_edge_idx_vector_impl.hpp"
#include "test_suite_runner/BspScheduleRecompTestSuiteRunner.hpp"

using graph_t = osp::computational_dag_edge_idx_vector_impl_def_int_t;
using GraphT = osp::ComputationalDagEdgeIdxVectorImplDefIntT;

int main(int argc, char *argv[]) {
osp::BspScheduleRecompTestSuiteRunner<graph_t> runner;
return runner.run(argc, argv);
osp::BspScheduleRecompTestSuiteRunner<GraphT> runner;
return runner.Run(argc, argv);

return 0;
}
66 changes: 33 additions & 33 deletions apps/coarser_plotter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,74 +26,74 @@ limitations under the License.
#include "osp/graph_implementations/adj_list_impl/computational_dag_edge_idx_vector_impl.hpp"

using namespace osp;
using Graph_t = computational_dag_edge_idx_vector_impl_def_int_t;
using GraphT = ComputationalDagEdgeIdxVectorImplDefIntT;

int main(int argc, char *argv[]) {
if (argc < 3) {
std::cerr << "Usage: " << argv[0] << " <graph> <output file>\n" << std::endl;
return 1;
}

std::string graph_file = argv[1];
std::string graph_name = graph_file.substr(graph_file.rfind("/") + 1, graph_file.rfind(".") - graph_file.rfind("/") - 1);
std::string graphFile = argv[1];
std::string graphName = graphFile.substr(graphFile.rfind("/") + 1, graphFile.rfind(".") - graphFile.rfind("/") - 1);

Graph_t graph;
bool status = file_reader::readGraph(graph_file, graph);
GraphT graph;
bool status = file_reader::ReadGraph(graphFile, graph);
if (!status) {
std::cout << "Failed to read graph\n";
return 1;
}

SarkarParams::MulParameters<v_workw_t<Graph_t>> params;
params.commCostVec = std::vector<v_workw_t<Graph_t>>({1, 2, 5, 10, 20, 50, 100, 200, 500, 1000});
params.max_num_iteration_without_changes = 3;
params.leniency = 0.005;
params.maxWeight = 15000;
params.smallWeightThreshold = 4000;
params.buffer_merge_mode = SarkarParams::BufferMergeMode::FULL;
sarkar_params::MulParameters<VWorkwT<GraphT>> params;
params.commCostVec_ = std::vector<VWorkwT<GraphT>>({1, 2, 5, 10, 20, 50, 100, 200, 500, 1000});
params.maxNumIterationWithoutChanges_ = 3;
params.leniency_ = 0.005;
params.maxWeight_ = 15000;
params.smallWeightThreshold_ = 4000;
params.bufferMergeMode_ = sarkar_params::BufferMergeMode::FULL;

SarkarMul<Graph_t, Graph_t> coarser;
coarser.setParameters(params);
SarkarMul<GraphT, GraphT> coarser;
coarser.SetParameters(params);

Graph_t coarse_graph;
std::vector<vertex_idx_t<Graph_t>> contraction_map;
GraphT coarseGraph;
std::vector<VertexIdxT<GraphT>> contractionMap;

Graph_t graph_copy = graph;
bool ignore_vertex_types = false;
GraphT graphCopy = graph;
bool ignoreVertexTypes = false;

if (ignore_vertex_types) {
for (const auto &vert : graph_copy.vertices()) {
graph_copy.set_vertex_type(vert, 0);
if (ignoreVertexTypes) {
for (const auto &vert : graphCopy.Vertices()) {
graphCopy.SetVertexType(vert, 0);
}
}

coarser.coarsenDag(graph_copy, coarse_graph, contraction_map);
coarser.CoarsenDag(graphCopy, coarseGraph, contractionMap);

std::vector<unsigned> colours(contraction_map.size());
for (std::size_t i = 0; i < contraction_map.size(); ++i) {
colours[i] = static_cast<unsigned>(contraction_map[i]);
std::vector<unsigned> colours(contractionMap.size());
for (std::size_t i = 0; i < contractionMap.size(); ++i) {
colours[i] = static_cast<unsigned>(contractionMap[i]);
}

std::ofstream out_dot(argv[2]);
if (!out_dot.is_open()) {
std::ofstream outDot(argv[2]);
if (!outDot.is_open()) {
std::cout << "Unable to write/open output file.\n";
return 1;
}

DotFileWriter writer;
writer.write_colored_graph(out_dot, graph, colours);
writer.WriteColoredGraph(outDot, graph, colours);

if (argc >= 4) {
std::ofstream coarse_out_dot(argv[3]);
if (!coarse_out_dot.is_open()) {
std::ofstream coarseOutDot(argv[3]);
if (!coarseOutDot.is_open()) {
std::cout << "Unable to write/open output file.\n";
return 1;
}

std::vector<unsigned> coarse_colours(coarse_graph.num_vertices());
std::iota(coarse_colours.begin(), coarse_colours.end(), 0);
std::vector<unsigned> coarseColours(coarseGraph.NumVertices());
std::iota(coarseColours.begin(), coarseColours.end(), 0);

writer.write_colored_graph(coarse_out_dot, coarse_graph, coarse_colours);
writer.WriteColoredGraph(coarseOutDot, coarseGraph, coarseColours);
}

return 0;
Expand Down
Loading