COMBINATORIAL_BLAS  1.6
apply_permutation_mpi.h
Go to the documentation of this file.
1 /* Copyright (C) 2010 The Trustees of Indiana University. */
2 /* */
3 /* Use, modification and distribution is subject to the Boost Software */
4 /* License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at */
5 /* http://www.boost.org/LICENSE_1_0.txt) */
6 /* */
7 /* Authors: Jeremiah Willcock */
8 /* Andrew Lumsdaine */
9 
10 #ifndef APPLY_PERMUTATION_MPI_H
11 #define APPLY_PERMUTATION_MPI_H
12 
13 #ifdef GRAPH_GENERATOR_MPI
14 
15 #include <stdint.h>
16 #include "splittable_mrg.h"
17 #include "graph_generator.h"
18 #include <mpi.h>
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 /* Internal function to get various information about an uneven block
25  * distribution of some data. */
26 void gather_block_distribution_info(MPI_Comm comm, const int64_t local_block_size, const int64_t global_block_size, int64_t* block_displs /* size = MPI comm size + 1 */, int** block_owner_table_ptr /* malloc'ed in here */, int64_t** block_owner_cutoff_ptr /* malloc'ed in here */, int* lg_minblocksize_ptr, int64_t* maxblocksize_ptr);
27 
28 /* Internal function to apply a distributed permutation to a distributed set of
29  * edges. */
30 void apply_permutation_mpi(MPI_Comm comm, const int64_t local_perm_size, const int64_t* const local_vertex_perm, const int64_t N, const int64_t nedges, int64_t* result);
31 
32 #ifdef __cplusplus
33 }
34 #endif
35 
36 #endif /* GRAPH_GENERATOR_MPI */
37 
38 #endif /* APPLY_PERMUTATION_MPI_H */
long int64_t
Definition: compat.h:21