PROGRESS  master
prg_graph_mod Module Reference

The graph module. More...

Data Types

type  subgraph_t
 Subgraph type. More...
 
type  graph_partitioning_t
 Trace per iteration. More...
 

Functions/Subroutines

subroutine, public prg_initsubgraph (sg, pnum, hsize)
 Initialize subgraph. More...
 
subroutine, public prg_destroysubgraph (sg)
 Destroy subgraph. More...
 
subroutine, public prg_initgraphpartitioning (gp, pname, np, nnodes, nnodes2)
 Initialize graph partitioning. More...
 
subroutine, public prg_destroygraphpartitioning (gp)
 Destroy graph partitioning. More...
 
subroutine, public prg_printgraphpartitioning (gp)
 Print graph partitioning structure data. More...
 
subroutine, public prg_equalpartition (gp, nodesPerPart, nnodes)
 Create equal graph partitions, based on number of rows/orbitals. More...
 
subroutine, public prg_equalgrouppartition (gp, hindex, ngroup, nodesPerPart, nnodes)
 Create equal group graph partitions, based on number of atoms/groups. More...
 
subroutine, public prg_filepartition (gp, partFile)
 Read graph partitions from a file, based on number of rows/orbitals. More...
 
subroutine prg_readpart (gp, partFile)
 Read parts (core) from part file. More...
 
subroutine, public prg_fnormgraph (gp)
 Accumulate trace norm across all subgraphs. More...
 

Variables

integer, parameter dp = kind(1.0d0)
 

Detailed Description

The graph module.

Function/Subroutine Documentation

◆ prg_destroygraphpartitioning()

subroutine, public prg_graph_mod::prg_destroygraphpartitioning ( type (graph_partitioning_t), intent(inout)  gp)

Destroy graph partitioning.

Parameters
sgSubgraph

Definition at line 262 of file prg_graph_mod.F90.

◆ prg_destroysubgraph()

subroutine, public prg_graph_mod::prg_destroysubgraph ( type (subgraph_t), intent(inout)  sg)

Destroy subgraph.

Parameters
sgSubgraph

Definition at line 158 of file prg_graph_mod.F90.

◆ prg_equalgrouppartition()

subroutine, public prg_graph_mod::prg_equalgrouppartition ( type (graph_partitioning_t), intent(inout)  gp,
integer, dimension(2,ngroup), intent(in)  hindex,
integer, intent(in)  ngroup,
integer, intent(in)  nodesPerPart,
integer, intent(in)  nnodes 
)

Create equal group graph partitions, based on number of atoms/groups.

Parameters
gpGraph partitioning
hindexNode indeces that represent ranges of atoms/groups
ngroupNumber of group nodes
nodesPerPartNumber of core nodes per partition
nnodesTotal nodes in Hamiltonian matrix

Definition at line 396 of file prg_graph_mod.F90.

◆ prg_equalpartition()

subroutine, public prg_graph_mod::prg_equalpartition ( type (graph_partitioning_t), intent(inout)  gp,
integer, intent(in)  nodesPerPart,
integer, intent(in)  nnodes 
)

Create equal graph partitions, based on number of rows/orbitals.

Parameters
gpGraph partitioning`
nodesPerPartNumber of core nodes per partition
nnodesTotal nodes in Hamiltonian matrix

Definition at line 352 of file prg_graph_mod.F90.

◆ prg_filepartition()

subroutine, public prg_graph_mod::prg_filepartition ( type (graph_partitioning_t), intent(inout)  gp,
character(len=*), intent(in)  partFile 
)

Read graph partitions from a file, based on number of rows/orbitals.

Parameters
partFileFile containing core nodes for each partition
gpGraph partitioning

Definition at line 458 of file prg_graph_mod.F90.

◆ prg_fnormgraph()

subroutine, public prg_graph_mod::prg_fnormgraph ( type(graph_partitioning_t), intent(inout)  gp)

Accumulate trace norm across all subgraphs.

Parameters
gpGraph partitioning

Definition at line 511 of file prg_graph_mod.F90.

◆ prg_initgraphpartitioning()

subroutine, public prg_graph_mod::prg_initgraphpartitioning ( type (graph_partitioning_t), intent(inout)  gp,
character(len=*), intent(in)  pname,
integer, intent(in)  np,
integer, intent(in)  nnodes,
integer, intent(in)  nnodes2 
)

Initialize graph partitioning.

Parameters
gpGraph partitioning
pnamePartitioning name
npNumber of partitions
nnodesNumber of groups/nodes
nnodes2Number of nodes

Definition at line 174 of file prg_graph_mod.F90.

◆ prg_initsubgraph()

subroutine, public prg_graph_mod::prg_initsubgraph ( type (subgraph_t), intent(inout)  sg,
integer, intent(in)  pnum,
integer, intent(in)  hsize 
)

Initialize subgraph.

Parameters
sgSubgraph
pnumPart number
hsizeSize of full matrix

Definition at line 142 of file prg_graph_mod.F90.

◆ prg_printgraphpartitioning()

subroutine, public prg_graph_mod::prg_printgraphpartitioning ( type (graph_partitioning_t), intent(in)  gp)

Print graph partitioning structure data.

Parameters
gpGraph partitioning

Definition at line 289 of file prg_graph_mod.F90.

◆ prg_readpart()

subroutine prg_graph_mod::prg_readpart ( type (graph_partitioning_t), intent(inout)  gp,
character(len=*), intent(in)  partFile 
)
private

Read parts (core) from part file.

Parameters
gpGraph partitioning
partFilePartition file

Definition at line 470 of file prg_graph_mod.F90.

Variable Documentation

◆ dp

integer, parameter prg_graph_mod::dp = kind(1.0d0)
private

Definition at line 16 of file prg_graph_mod.F90.