DOLFIN-X
DOLFIN-X C++ interface
Functions
dolfinx::graph::SCOTCH Namespace Reference

Interface to SCOTCH-PT (parallel version) More...

Functions

AdjacencyList< std::int32_t > partition (const MPI_Comm mpi_comm, const int nparts, const AdjacencyList< SCOTCH_Num > &local_graph, const std::vector< std::size_t > &node_weights, std::int32_t num_ghost_nodes, bool ghosting)
 Compute distributed graph partition. More...
 
std::pair< std::vector< int >, std::vector< int > > compute_gps (const AdjacencyList< std::int32_t > &graph, std::size_t num_passes=5)
 Compute reordering (map[old] -> new) using Gibbs-Poole-Stockmeyer (GPS) re-ordering. More...
 
std::pair< std::vector< int >, std::vector< int > > compute_reordering (const AdjacencyList< std::int32_t > &graph, std::string scotch_strategy="")
 Compute graph re-ordering. More...
 

Detailed Description

Interface to SCOTCH-PT (parallel version)

Function Documentation

◆ compute_gps()

std::pair< std::vector< int >, std::vector< int > > dolfinx::graph::SCOTCH::compute_gps ( const AdjacencyList< std::int32_t > &  graph,
std::size_t  num_passes = 5 
)

Compute reordering (map[old] -> new) using Gibbs-Poole-Stockmeyer (GPS) re-ordering.

Parameters
[in]graphInput graph
[in]num_passesNumber of passes to use in GPS algorithm
Returns
(map from old to new nodes, map from new to old nodes (inverse map))

◆ compute_reordering()

std::pair< std::vector< int >, std::vector< int > > dolfinx::graph::SCOTCH::compute_reordering ( const AdjacencyList< std::int32_t > &  graph,
std::string  scotch_strategy = "" 
)

Compute graph re-ordering.

Parameters
[in]graphInput graph
[in]scotch_strategy(string) SCOTCH parameters
Returns
(map from old to new nodes, map from new to old nodes (inverse map))

◆ partition()

graph::AdjacencyList< std::int32_t > dolfinx::graph::SCOTCH::partition ( const MPI_Comm  mpi_comm,
const int  nparts,
const AdjacencyList< SCOTCH_Num > &  local_graph,
const std::vector< std::size_t > &  node_weights,
std::int32_t  num_ghost_nodes,
bool  ghosting 
)

Compute distributed graph partition.

Parameters
mpi_commMPI Communicator
npartsNumber of partitions to divide graph nodes into
local_graphNode connectivity graph
node_weightsWeight for each node (optional)
num_ghost_nodesNumber of graph nodes which are owned on other processes
ghostingFlag to enable ghosting of the output node distribution
Returns
Destination rank for each input node