DOLFIN-X
DOLFIN-X C++ interface
Static Public Member Functions | List of all members
dolfinx::graph::SCOTCH Class Reference

This class provides an interface to SCOTCH-PT (parallel version) More...

#include <SCOTCH.h>

Static Public Member Functions

static 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...
 
static 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...
 
static 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

This class provides an interface to SCOTCH-PT (parallel version)

Member 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 
)
static

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 = "" 
)
static

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 
)
static

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

The documentation for this class was generated from the following files: