MCPcopy Create free account
hub / github.com/KaHIP/KaHIP / reduced_nd

Function reduced_nd

interface/kaHIP_interface.cpp:367–435  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

365}
366
367void reduced_nd(int* n,
368 kahip_idx* xadj,
369 kahip_idx* adjncy,
370 bool suppress_output,
371 int seed,
372 int mode,
373 int* ordering) {
374 std::streambuf* backup = std::cout.rdbuf();
375 if(suppress_output) {
376 std::cout.rdbuf(nullptr);
377 }
378
379 configuration cfg;
380 PartitionConfig partition_config;
381 partition_config.k = 2;
382 partition_config.dissection_rec_limit = 120;
383 partition_config.max_simplicial_degree = 12;
384 partition_config.disable_reductions = false;
385 partition_config.convergence_factor = 1;
386 partition_config.reduction_order = {simplicial_nodes, degree_2_nodes};
387
388
389 partition_config.seed = seed;
390 srand(partition_config.seed);
391 random_functions::setSeed(partition_config.seed);
392
393 switch( mode ) {
394 case FAST:
395 cfg.fast_separator(partition_config);
396 break;
397 case ECO:
398 cfg.eco_separator(partition_config);
399 break;
400 case STRONG:
401 cfg.strong_separator(partition_config);
402 break;
403 case FASTSOCIAL:
404 cfg.fastsocial_separator(partition_config);
405 break;
406 case ECOSOCIAL:
407 cfg.ecosocial_separator(partition_config);
408 break;
409 case STRONGSOCIAL:
410 cfg.strongsocial_separator(partition_config);
411 break;
412 default:
413 cfg.eco_separator(partition_config);
414 break;
415 }
416
417 partition_config.seed = seed;
418
419 graph_access G;
420 internal_build_graph( partition_config, n, nullptr, xadj, nullptr, adjncy, G);
421
422 partition_config.imbalance = 20;// 20 percent
423 balance_configuration bc;
424 bc.configurate_balance(partition_config, G);

Callers

nothing calls this directly

Calls 9

fast_separatorMethod · 0.80
eco_separatorMethod · 0.80
strong_separatorMethod · 0.80
fastsocial_separatorMethod · 0.80
ecosocial_separatorMethod · 0.80
configurate_balanceMethod · 0.80
internal_build_graphFunction · 0.70

Tested by

no test coverage detected