COMBINATORIAL_BLAS 1.6
 
Loading...
Searching...
No Matches
dist_graph.h
Go to the documentation of this file.
1/*
2//@HEADER
3// *****************************************************************************
4//
5// HPCGraph: Graph Computation on High Performance Computing Systems
6// Copyright (2016) Sandia Corporation
7//
8// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9// the U.S. Government retains certain rights in this software.
10//
11// Redistribution and use in source and binary forms, with or without
12// modification, are permitted provided that the following conditions are
13// met:
14//
15// 1. Redistributions of source code must retain the above copyright
16// notice, this list of conditions and the following disclaimer.
17//
18// 2. Redistributions in binary form must reproduce the above copyright
19// notice, this list of conditions and the following disclaimer in the
20// documentation and/or other materials provided with the distribution.
21//
22// 3. Neither the name of the Corporation nor the names of the
23// contributors may be used to endorse or promote products derived from
24// this software without specific prior written permission.
25//
26// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37//
38// Questions? Contact George M. Slota (gmslota@sandia.gov)
39// Siva Rajamanickam (srajama@sandia.gov)
40// Kamesh Madduri (madduri@cse.psu.edu)
41//
42// *****************************************************************************
43//@HEADER
44*/
45
46#ifndef _DIST_GRAPH_H_
47#define _DIST_GRAPH_H_
48
49#include <stdint.h>
50
51#include "fast_map.h"
52
53
54#define out_degree(g, n) (g->out_degree_list[n+1] - g->out_degree_list[n])
55#define in_degree(g, n) (g->in_degree_list[n+1] - g->in_degree_list[n])
56#define out_vertices(g, n) &g->out_edges[g->out_degree_list[n]]
57#define in_vertices(g, n) &g->in_edges[g->in_degree_list[n]]
58
59
86
87
102
103struct mpi_data_t;
104
105
107
109
111
113
114int relabel_edges(dist_graph_t *g, int32_t* global_parts);
115
116int repart_graph(dist_graph_t*g, mpi_data_t* comm, char* part_file);
117
118int repart_graph(dist_graph_t*g, mpi_data_t* comm, int32_t* local_parts);
119
121
122
123#endif
int clear_graph(dist_graph_t *g)
int repart_graph(dist_graph_t *g, mpi_data_t *comm, char *part_file)
int relabel_edges(dist_graph_t *g)
int create_graph(graph_gen_data_t *ggi, dist_graph_t *g)
int create_graph_serial(graph_gen_data_t *ggi, dist_graph_t *g)
int get_max_degree_vert(dist_graph_t *g)
signed int int32_t
Definition stdint.h:77
unsigned __int64 uint64_t
Definition stdint.h:90
uint64_t n_total
Definition dist_graph.h:69
uint64_t max_out_degree
Definition dist_graph.h:72
uint64_t max_degree_vert
Definition dist_graph.h:71
uint64_t * local_unmap
Definition dist_graph.h:80
uint64_t * ghost_tasks
Definition dist_graph.h:82
uint64_t * ghost_unmap
Definition dist_graph.h:81
uint64_t * in_degree_list
Definition dist_graph.h:78
uint64_t * in_edges
Definition dist_graph.h:76
uint64_t n_local
Definition dist_graph.h:66
uint64_t n_ghost
Definition dist_graph.h:68
uint64_t m_local_in
Definition dist_graph.h:64
uint64_t max_in_degree
Definition dist_graph.h:73
uint64_t m
Definition dist_graph.h:62
uint64_t n
Definition dist_graph.h:61
uint64_t n_offset
Definition dist_graph.h:67
uint64_t * out_edges
Definition dist_graph.h:75
uint64_t m_local_out
Definition dist_graph.h:63
fast_map map
Definition dist_graph.h:83
uint64_t * out_degree_list
Definition dist_graph.h:77
uint64_t m_local_in
Definition dist_graph.h:96
uint64_t n_offset
Definition dist_graph.h:92
uint64_t n_local
Definition dist_graph.h:91
uint64_t * gen_edges
Definition dist_graph.h:98
uint64_t * gen_edges_rev
Definition dist_graph.h:99
uint64_t m_local_read
Definition dist_graph.h:94
uint64_t m_local_out
Definition dist_graph.h:95