summaryrefslogtreecommitdiff
path: root/benchmarks/CUDA/DG/include/parmetis.h
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/CUDA/DG/include/parmetis.h')
-rw-r--r--benchmarks/CUDA/DG/include/parmetis.h193
1 files changed, 193 insertions, 0 deletions
diff --git a/benchmarks/CUDA/DG/include/parmetis.h b/benchmarks/CUDA/DG/include/parmetis.h
new file mode 100644
index 0000000..64a90ea
--- /dev/null
+++ b/benchmarks/CUDA/DG/include/parmetis.h
@@ -0,0 +1,193 @@
+/*
+ * Copyright 1997-2003, Regents of the University of Minnesota
+ *
+ * parmetis.h
+ *
+ * This file contains function prototypes and constrant definitions for
+ * ParMETIS
+ *
+ * Started 7/21/03
+ * George
+ *
+ */
+
+#ifndef __parmetis_h__
+#define __parmetis_h__
+
+#include <mpi.h>
+
+#ifndef _MSC_VER
+#define __cdecl
+#endif
+
+
+/*************************************************************************
+* Data-structures
+**************************************************************************/
+/* Undefine the following #define in order to use short int as the idxtype */
+#define IDXTYPE_INT
+
+/* Indexes are as long as integers for now */
+#ifdef IDXTYPE_INT
+typedef int idxtype;
+#else
+typedef short idxtype;
+#endif
+
+
+/*************************************************************************
+* Constants
+**************************************************************************/
+#define PARMETIS_MAJOR_VERSION 3
+#define PARMETIS_MINOR_VERSION 1
+
+
+/*************************************************************************
+* Function prototypes
+**************************************************************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*-------------------------------------------------------------------
+* API Introduced with Release 3.0 (current API)
+*--------------------------------------------------------------------*/
+void __cdecl ParMETIS_V3_AdaptiveRepart(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *vsize, idxtype *adjwgt, int *wgtflag, int *numflag, int *ncon,
+ int *nparts, float *tpwgts, float *ubvec, float *ipc2redist,
+ int *options, int *edgecut, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_PartGeomKway(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *ndims, float *xyz,
+ int *ncon, int *nparts, float *tpwgts, float *ubvec, int *options,
+ int *edgecut, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_PartGeom(
+ idxtype *vtxdist, int *ndims, float *xyz, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_PartKway(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *ncon, int *nparts,
+ float *tpwgts, float *ubvec, int *options, int *edgecut, idxtype *part,
+ MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_Mesh2Dual(
+ idxtype *elmdist, idxtype *eptr, idxtype *eind, int *numflag,
+ int *ncommonnodes, idxtype **xadj, idxtype **adjncy, MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_PartMeshKway(
+ idxtype *elmdist, idxtype *eptr, idxtype *eind, idxtype *elmwgt,
+ int *wgtflag, int *numflag, int *ncon, int *ncommonnodes, int *nparts,
+ float *tpwgts, float *ubvec, int *options, int *edgecut, idxtype *part,
+ MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_NodeND(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, int *numflag,
+ int *options, idxtype *order, idxtype *sizes, MPI_Comm *comm);
+
+void __cdecl ParMETIS_V3_RefineKway(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *ncon, int *nparts,
+ float *tpwgts, float *ubvec, int *options, int *edgecut,
+ idxtype *part, MPI_Comm *comm);
+
+
+
+/*------------------------------------------------------------------
+* Backward compatibility routines with Release 2.0
+*-------------------------------------------------------------------*/
+void __cdecl ParMETIS_PartKway(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options,
+ int *edgecut, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_PartGeomKway(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt,
+ int *wgtflag, int *numflag, int *ndims, float *xyz, int *nparts, int *options,
+ int *edgecut, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_PartGeom(
+ idxtype *vtxdist, int *ndims, float *xyz, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_PartGeomRefine(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *ndims, float *xyz,
+ int *options, int *edgecut, idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_RefineKway(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *options, int *edgecut,
+ idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_RepartLDiffusion(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *options, int *edgecut,
+ idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_RepartGDiffusion(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
+ idxtype *adjwgt, int *wgtflag, int *numflag, int *options, int *edgecut,
+ idxtype *part, MPI_Comm *comm);
+
+void __cdecl ParMETIS_RepartRemap(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt,
+ int *wgtflag, int *numflag, int *options, int *edgecut, idxtype *part,
+ MPI_Comm *comm);
+
+void __cdecl ParMETIS_RepartMLRemap(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt,
+ int *wgtflag, int *numflag, int *options, int *edgecut, idxtype *part,
+ MPI_Comm *comm);
+
+void __cdecl ParMETIS_NodeND(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, int *numflag, int *options,
+ idxtype *order, idxtype *sizes, MPI_Comm *comm);
+
+void __cdecl ParMETIS_SerialNodeND(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, int *numflag, int *options,
+ idxtype *order, idxtype *sizes, MPI_Comm *comm);
+
+
+
+
+/*-------------------------------------------------------------------
+* Backward compatibility routines with Release 1.0
+*--------------------------------------------------------------------*/
+void __cdecl PARKMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *vwgt, idxtype *adjncy, idxtype *adjwgt,
+ idxtype *part, int *options, MPI_Comm comm);
+
+void __cdecl PARGKMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *vwgt, idxtype *adjncy, idxtype *adjwgt,
+ int ndims, float *xyz, idxtype *part, int *options, MPI_Comm comm);
+
+void __cdecl PARGRMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *vwgt, idxtype *adjncy, idxtype *adjwgt,
+ int ndims, float *xyz, idxtype *part, int *options, MPI_Comm comm);
+
+void __cdecl PARGMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *adjncy, int ndims, float *xyz,
+ idxtype *part, int *options, MPI_Comm comm);
+
+void __cdecl PARRMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *vwgt, idxtype *adjncy,
+ idxtype *adjwgt, idxtype *part, int *options, MPI_Comm comm);
+
+void __cdecl PARUAMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *vwgt, idxtype *adjncy,
+ idxtype *adjwgt, idxtype *part, int *options, MPI_Comm comm);
+
+void __cdecl PARDAMETIS(
+ idxtype *vtxdist, idxtype *xadj, idxtype *vwgt, idxtype *adjncy, idxtype *adjwgt,
+ idxtype *part, int *options, MPI_Comm comm);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+#endif