21#include "rheolef/config.h"
22#ifdef _RHEOLEF_HAVE_MPI
24#include "rheolef/communicator.h"
34 vector<my_idxtype>& eind,
36 vector<my_idxtype>& xadj,
37 vector<my_idxtype>& adjncy,
38 const mpi::communicator& comm);
41void ParMETIS_V3_PartKway (
const int *
const,
int *
const,
int *
const,
int *
const,
int *
const,
const int *
const,
const int *
const,
const int *
const,
const int *
const,
const float *
const,
const float *
const,
const int *
const,
int *
const,
int *
const, MPI_Comm *
const);
51 vector<my_idxtype>& eind,
60 const mpi::communicator& comm)
62 if (eind.size() == 0) {
66 if (elmdist == NULL || eptr == NULL ||
67 ncon == NULL || ncommonnodes == NULL || nparts == NULL ||
68 tpwgts == NULL || ubvec == NULL || edgecut == NULL ||
70 error_macro (
"one or more required parameters is NULL");
74 vector<my_idxtype> xadj;
75 vector<my_idxtype> adjncy;
88 MPI_Comm raw_comm = comm;
97 xadj.begin().operator->(),
98 adjncy.begin().operator->(),
#define error_macro(message)
#define PMV3_OPTION_DBGLVL
This file is part of Rheolef.
void geo_partition_scotch(my_idxtype *elmdist, my_idxtype *eptr, vector< my_idxtype > &eind, my_idxtype *elmwgt, int *ncon, int *ncommonnodes, int *nparts, float *tpwgts, float *ubvec, int *edgecut, my_idxtype *part, const mpi::communicator &comm)
void geo_dual(my_idxtype *elmdist, my_idxtype *eptr, vector< my_idxtype > &eind, int *ncommonnodes, vector< my_idxtype > &xadj, vector< my_idxtype > &adjncy, const mpi::communicator &comm)
void ParMETIS_V3_PartKway(const int *const, int *const, int *const, int *const, int *const, const int *const, const int *const, const int *const, const int *const, const float *const, const float *const, const int *const, int *const, int *const, MPI_Comm *const)