diff options
| author | Tor Aamodt <[email protected]> | 2010-10-01 08:55:28 -0800 |
|---|---|---|
| committer | Tor Aamodt <[email protected]> | 2010-10-01 08:55:28 -0800 |
| commit | 11b308e7363e937966b035b4891db32b4eece3bf (patch) | |
| tree | 50ca4c9ad6f163ac4acb2bf505e64dfebed66947 /benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/METISLib/proto.h | |
| parent | bb820c116764d7a1b8e071137d32b74e7f34dd2f (diff) | |
integrating recent changes from fermi-test into fermi
(i'll use "fermi" for more disruptive changes to the pipeline model such
as updating the MSHRs and getting rid of the warp tracker, ripping out DWF, etc...)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7805]
Diffstat (limited to 'benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/METISLib/proto.h')
| -rw-r--r-- | benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/METISLib/proto.h | 511 |
1 files changed, 0 insertions, 511 deletions
diff --git a/benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/METISLib/proto.h b/benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/METISLib/proto.h deleted file mode 100644 index 3cfadab..0000000 --- a/benchmarks/CUDA/DG/3rdParty/ParMetis-3.1/METISLib/proto.h +++ /dev/null @@ -1,511 +0,0 @@ -/* - * Copyright 1997, Regents of the University of Minnesota - * - * proto.h - * - * This file contains header files - * - * Started 10/19/95 - * George - * - * $Id: proto.h,v 1.3 2003/07/24 18:39:11 karypis Exp $ - * - */ - -/* balance.c */ -void Balance2Way(CtrlType *, GraphType *, int *, float); -void Bnd2WayBalance(CtrlType *, GraphType *, int *); -void General2WayBalance(CtrlType *, GraphType *, int *); - -/* bucketsort.c */ -void BucketSortKeysInc(int, int, idxtype *, idxtype *, idxtype *); - -/* ccgraph.c */ -void CreateCoarseGraph(CtrlType *, GraphType *, int, idxtype *, idxtype *); -void CreateCoarseGraphNoMask(CtrlType *, GraphType *, int, idxtype *, idxtype *); -void CreateCoarseGraph_NVW(CtrlType *, GraphType *, int, idxtype *, idxtype *); -GraphType *SetUpCoarseGraph(GraphType *, int, int); -void ReAdjustMemory(GraphType *, GraphType *, int); - -/* checkgraph.c */ -int CheckGraph(GraphType *); - -/* coarsen.c */ -GraphType *Coarsen2Way(CtrlType *, GraphType *); - -/* compress.c */ -void CompressGraph(CtrlType *, GraphType *, int, idxtype *, idxtype *, idxtype *, idxtype *); -void PruneGraph(CtrlType *, GraphType *, int, idxtype *, idxtype *, idxtype *, float); - -/* debug.c */ -int ComputeCut(GraphType *, idxtype *); -int CheckBnd(GraphType *); -int CheckBnd2(GraphType *); -int CheckNodeBnd(GraphType *, int); -int CheckRInfo(RInfoType *); -int CheckNodePartitionParams(GraphType *); -int IsSeparable(GraphType *); - -/* estmem.c */ -void METIS_EstimateMemory(int *, idxtype *, idxtype *, int *, int *, int *); -void EstimateCFraction(int, idxtype *, idxtype *, float *, float *); -int ComputeCoarseGraphSize(int, idxtype *, idxtype *, int, idxtype *, idxtype *, idxtype *); - -/* fm.c */ -void FM_2WayEdgeRefine(CtrlType *, GraphType *, int *, int); - -/* fortran.c */ -void Change2CNumbering(int, idxtype *, idxtype *); -void Change2FNumbering(int, idxtype *, idxtype *, idxtype *); -void Change2FNumbering2(int, idxtype *, idxtype *); -void Change2FNumberingOrder(int, idxtype *, idxtype *, idxtype *, idxtype *); -void ChangeMesh2CNumbering(int, idxtype *); -void ChangeMesh2FNumbering(int, idxtype *, int, idxtype *, idxtype *); -void ChangeMesh2FNumbering2(int, idxtype *, int, int, idxtype *, idxtype *); - -/* frename.c */ -void METIS_PARTGRAPHRECURSIVE(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphrecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphrecursive_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphrecursive__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPARTGRAPHRECURSIVE(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphrecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphrecursive_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphrecursive__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_PARTGRAPHKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPARTGRAPHKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_EDGEND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_edgend(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_edgend_(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_edgend__(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NODEND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodend(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodend_(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodend__(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NODEWND(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodewnd(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodewnd_(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_nodewnd__(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_PARTMESHNODAL(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshnodal(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshnodal_(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshnodal__(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void METIS_PARTMESHDUAL(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshdual(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshdual_(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void metis_partmeshdual__(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void METIS_MESHTONODAL(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtonodal(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtonodal_(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtonodal__(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_MESHTODUAL(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtodual(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtodual_(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void metis_meshtodual__(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_ESTIMATEMEMORY(int *, idxtype *, idxtype *, int *, int *, int *); -void metis_estimatememory(int *, idxtype *, idxtype *, int *, int *, int *); -void metis_estimatememory_(int *, idxtype *, idxtype *, int *, int *, int *); -void metis_estimatememory__(int *, idxtype *, idxtype *, int *, int *, int *); -void METIS_MCPARTGRAPHRECURSIVE(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_mcpartgraphrecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_mcpartgraphrecursive_(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_mcpartgraphrecursive__(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_MCPARTGRAPHKWAY(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_mcpartgraphkway(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_mcpartgraphkway_(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_mcpartgraphkway__(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_PARTGRAPHVKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphvkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphvkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void metis_partgraphvkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPARTGRAPHVKWAY(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphvkway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphvkway_(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void metis_wpartgraphvkway__(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); - -/* graph.c */ -void SetUpGraph(GraphType *, int, int, int, idxtype *, idxtype *, idxtype *, idxtype *, int); -void SetUpGraphKway(GraphType *, int, idxtype *, idxtype *); -void SetUpGraph2(GraphType *, int, int, idxtype *, idxtype *, float *, idxtype *); -void VolSetUpGraph(GraphType *, int, int, int, idxtype *, idxtype *, idxtype *, idxtype *, int); -void RandomizeGraph(GraphType *); -int IsConnectedSubdomain(CtrlType *, GraphType *, int, int); -int IsConnected(CtrlType *, GraphType *, int); -int IsConnected2(GraphType *, int); -int FindComponents(CtrlType *, GraphType *, idxtype *, idxtype *); - -/* initpart.c */ -void Init2WayPartition(CtrlType *, GraphType *, int *, float); -void InitSeparator(CtrlType *, GraphType *, float); -void GrowBisection(CtrlType *, GraphType *, int *, float); -void GrowBisectionNode(CtrlType *, GraphType *, float); -void RandomBisection(CtrlType *, GraphType *, int *, float); - -/* kmetis.c */ -void METIS_PartGraphKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MlevelKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *, float); - -/* kvmetis.c */ -void METIS_PartGraphVKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphVKway(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MlevelVolKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *, float); - -/* kwayfm.c */ -void Random_KWayEdgeRefine(CtrlType *, GraphType *, int, float *, float, int, int); -void Greedy_KWayEdgeRefine(CtrlType *, GraphType *, int, float *, float, int); -void Greedy_KWayEdgeBalance(CtrlType *, GraphType *, int, float *, float, int); - -/* kwayrefine.c */ -void RefineKWay(CtrlType *, GraphType *, GraphType *, int, float *, float); -void AllocateKWayPartitionMemory(CtrlType *, GraphType *, int); -void ComputeKWayPartitionParams(CtrlType *, GraphType *, int); -void ProjectKWayPartition(CtrlType *, GraphType *, int); -int IsBalanced(idxtype *, int, float *, float); -void ComputeKWayBoundary(CtrlType *, GraphType *, int); -void ComputeKWayBalanceBoundary(CtrlType *, GraphType *, int); - -/* kwayvolfm.c */ -void Random_KWayVolRefine(CtrlType *, GraphType *, int, float *, float, int, int); -void Random_KWayVolRefineMConn(CtrlType *, GraphType *, int, float *, float, int, int); -void Greedy_KWayVolBalance(CtrlType *, GraphType *, int, float *, float, int); -void Greedy_KWayVolBalanceMConn(CtrlType *, GraphType *, int, float *, float, int); -void KWayVolUpdate(CtrlType *, GraphType *, int, int, int, idxtype *, idxtype *, idxtype *); -void ComputeKWayVolume(GraphType *, int, idxtype *, idxtype *, idxtype *); -int ComputeVolume(GraphType *, idxtype *); -void CheckVolKWayPartitionParams(CtrlType *, GraphType *, int); -void ComputeVolSubDomainGraph(GraphType *, int, idxtype *, idxtype *); -void EliminateVolSubDomainEdges(CtrlType *, GraphType *, int, float *); -void EliminateVolComponents(CtrlType *, GraphType *, int, float *, float); - -/* kwayvolrefine.c */ -void RefineVolKWay(CtrlType *, GraphType *, GraphType *, int, float *, float); -void AllocateVolKWayPartitionMemory(CtrlType *, GraphType *, int); -void ComputeVolKWayPartitionParams(CtrlType *, GraphType *, int); -void ComputeKWayVolGains(CtrlType *, GraphType *, int); -void ProjectVolKWayPartition(CtrlType *, GraphType *, int); -void ComputeVolKWayBoundary(CtrlType *, GraphType *, int); -void ComputeVolKWayBalanceBoundary(CtrlType *, GraphType *, int); - -/* match.c */ -void Match_RM(CtrlType *, GraphType *); -void Match_RM_NVW(CtrlType *, GraphType *); -void Match_HEM(CtrlType *, GraphType *); -void Match_SHEM(CtrlType *, GraphType *); - -/* mbalance.c */ -void MocBalance2Way(CtrlType *, GraphType *, float *, float); -void MocGeneral2WayBalance(CtrlType *, GraphType *, float *, float); - -/* mbalance2.c */ -void MocBalance2Way2(CtrlType *, GraphType *, float *, float *); -void MocGeneral2WayBalance2(CtrlType *, GraphType *, float *, float *); -void SelectQueue3(int, float *, float *, int *, int *, PQueueType [MAXNCON][2], float *); - -/* mcoarsen.c */ -GraphType *MCCoarsen2Way(CtrlType *, GraphType *); - -/* memory.c */ -void AllocateWorkSpace(CtrlType *, GraphType *, int); -void FreeWorkSpace(CtrlType *, GraphType *); -int WspaceAvail(CtrlType *); -idxtype *idxwspacemalloc(CtrlType *, int); -void idxwspacefree(CtrlType *, int); -float *fwspacemalloc(CtrlType *, int); -void fwspacefree(CtrlType *, int); -GraphType *CreateGraph(void); -void InitGraph(GraphType *); -void FreeGraph(GraphType *); - -/* mesh.c */ -void METIS_MeshToDual(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_MeshToNodal(int *, int *, idxtype *, int *, int *, idxtype *, idxtype *); -void GENDUALMETIS(int, int, int, idxtype *, idxtype *, idxtype *adjncy); -void TRINODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); -void TETNODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); -void HEXNODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); -void QUADNODALMETIS(int, int, idxtype *, idxtype *, idxtype *adjncy); - -/* meshpart.c */ -void METIS_PartMeshNodal(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); -void METIS_PartMeshDual(int *, int *, idxtype *, int *, int *, int *, int *, idxtype *, idxtype *); - -/* mfm.c */ -void MocFM_2WayEdgeRefine(CtrlType *, GraphType *, float *, int); -void SelectQueue(int, float *, float *, int *, int *, PQueueType [MAXNCON][2]); -int BetterBalance(int, float *, float *, float *); -float Compute2WayHLoadImbalance(int, float *, float *); -void Compute2WayHLoadImbalanceVec(int, float *, float *, float *); - -/* mfm2.c */ -void MocFM_2WayEdgeRefine2(CtrlType *, GraphType *, float *, float *, int); -void SelectQueue2(int, float *, float *, int *, int *, PQueueType [MAXNCON][2], float *); -int IsBetter2wayBalance(int, float *, float *, float *); - -/* mincover.o */ -void MinCover(idxtype *, idxtype *, int, int, idxtype *, int *); -int MinCover_Augment(idxtype *, idxtype *, int, idxtype *, idxtype *, idxtype *, int); -void MinCover_Decompose(idxtype *, idxtype *, int, int, idxtype *, idxtype *, int *); -void MinCover_ColDFS(idxtype *, idxtype *, int, idxtype *, idxtype *, int); -void MinCover_RowDFS(idxtype *, idxtype *, int, idxtype *, idxtype *, int); - -/* minitpart.c */ -void MocInit2WayPartition(CtrlType *, GraphType *, float *, float); -void MocGrowBisection(CtrlType *, GraphType *, float *, float); -void MocRandomBisection(CtrlType *, GraphType *, float *, float); -void MocInit2WayBalance(CtrlType *, GraphType *, float *); -int SelectQueueoneWay(int, float *, float *, int, PQueueType [MAXNCON][2]); - -/* minitpart2.c */ -void MocInit2WayPartition2(CtrlType *, GraphType *, float *, float *); -void MocGrowBisection2(CtrlType *, GraphType *, float *, float *); -void MocGrowBisectionNew2(CtrlType *, GraphType *, float *, float *); -void MocInit2WayBalance2(CtrlType *, GraphType *, float *, float *); -int SelectQueueOneWay2(int, float *, PQueueType [MAXNCON][2], float *); - -/* mkmetis.c */ -void METIS_mCPartGraphKway(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MCMlevelKWayPartitioning(CtrlType *, GraphType *, int, idxtype *, float *); - -/* mkwayfmh.c */ -void MCRandom_KWayEdgeRefineHorizontal(CtrlType *, GraphType *, int, float *, int); -void MCGreedy_KWayEdgeBalanceHorizontal(CtrlType *, GraphType *, int, float *, int); -int AreAllHVwgtsBelow(int, float, float *, float, float *, float *); -int AreAllHVwgtsAbove(int, float, float *, float, float *, float *); -void ComputeHKWayLoadImbalance(int, int, float *, float *); -int MocIsHBalanced(int, int, float *, float *); -int IsHBalanceBetterFT(int, int, float *, float *, float *, float *); -int IsHBalanceBetterTT(int, int, float *, float *, float *, float *); - -/* mkwayrefine.c */ -void MocRefineKWayHorizontal(CtrlType *, GraphType *, GraphType *, int, float *); -void MocAllocateKWayPartitionMemory(CtrlType *, GraphType *, int); -void MocComputeKWayPartitionParams(CtrlType *, GraphType *, int); -void MocProjectKWayPartition(CtrlType *, GraphType *, int); -void MocComputeKWayBalanceBoundary(CtrlType *, GraphType *, int); - -/* mmatch.c */ -void MCMatch_RM(CtrlType *, GraphType *); -void MCMatch_HEM(CtrlType *, GraphType *); -void MCMatch_SHEM(CtrlType *, GraphType *); -void MCMatch_SHEBM(CtrlType *, GraphType *, int); -void MCMatch_SBHEM(CtrlType *, GraphType *, int); -float BetterVBalance(int, int, float *, float *, float *); -int AreAllVwgtsBelowFast(int, float *, float *, float); - -/* mmd.c */ -void genmmd(int, idxtype *, idxtype *, idxtype *, idxtype *, int , idxtype *, idxtype *, idxtype *, idxtype *, int, int *); -void mmdelm(int, idxtype *xadj, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int, int); -int mmdint(int, idxtype *xadj, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *); -void mmdnum(int, idxtype *, idxtype *, idxtype *); -void mmdupd(int, int, idxtype *, idxtype *, int, int *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int, int *tag); - -/* mpmetis.c */ -void METIS_mCPartGraphRecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_mCHPartGraphRecursive(int *, int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_mCPartGraphRecursiveInternal(int *, int *, idxtype *, idxtype *, float *, idxtype *, int *, int *, int *, idxtype *); -void METIS_mCHPartGraphRecursiveInternal(int *, int *, idxtype *, idxtype *, float *, idxtype *, int *, float *, int *, int *, idxtype *); -int MCMlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float, int); -int MCHMlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float *, int); -void MCMlevelEdgeBisection(CtrlType *, GraphType *, float *, float); -void MCHMlevelEdgeBisection(CtrlType *, GraphType *, float *, float *); - -/* mrefine.c */ -void MocRefine2Way(CtrlType *, GraphType *, GraphType *, float *, float); -void MocAllocate2WayPartitionMemory(CtrlType *, GraphType *); -void MocCompute2WayPartitionParams(CtrlType *, GraphType *); -void MocProject2WayPartition(CtrlType *, GraphType *); - -/* mrefine2.c */ -void MocRefine2Way2(CtrlType *, GraphType *, GraphType *, float *, float *); - -/* mutil.c */ -int AreAllVwgtsBelow(int, float, float *, float, float *, float); -int AreAnyVwgtsBelow(int, float, float *, float, float *, float); -int AreAllVwgtsAbove(int, float, float *, float, float *, float); -float ComputeLoadImbalance(int, int, float *, float *); -int AreAllBelow(int, float *, float *); - -/* myqsort.c */ -void iidxsort(int, idxtype *); -void iintsort(int, int *); -void ikeysort(int, KeyValueType *); -void ikeyvalsort(int, KeyValueType *); - -/* ometis.c */ -void METIS_EdgeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NodeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void METIS_NodeWND(int *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *); -void MlevelNestedDissection(CtrlType *, GraphType *, idxtype *, float, int); -void MlevelNestedDissectionCC(CtrlType *, GraphType *, idxtype *, float, int); -void MlevelNodeBisectionMultiple(CtrlType *, GraphType *, int *, float); -void MlevelNodeBisection(CtrlType *, GraphType *, int *, float); -void SplitGraphOrder(CtrlType *, GraphType *, GraphType *, GraphType *); -void MMDOrder(CtrlType *, GraphType *, idxtype *, int); -int SplitGraphOrderCC(CtrlType *, GraphType *, GraphType *, int, idxtype *, idxtype *); - -/* parmetis.c */ -void METIS_PartGraphKway2(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphKway2(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -void METIS_NodeNDP(int, idxtype *, idxtype *, int, int *, idxtype *, idxtype *, idxtype *); -void MlevelNestedDissectionP(CtrlType *, GraphType *, idxtype *, int, int, int, idxtype *); -void METIS_NodeComputeSeparator(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *); -void METIS_EdgeComputeSeparator(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, idxtype *); -void METIS_mCPartGraphRecursive2(int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part); -int MCMlevelRecursiveBisection2(CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, idxtype *part, float ubfactor, int fpart); - - - -/* pmetis.c */ -void METIS_PartGraphRecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, int *, int *, idxtype *); -void METIS_WPartGraphRecursive(int *, idxtype *, idxtype *, idxtype *, idxtype *, int *, int *, int *, float *, int *, int *, idxtype *); -int MlevelRecursiveBisection(CtrlType *, GraphType *, int, idxtype *, float *, float, int); -void MlevelEdgeBisection(CtrlType *, GraphType *, int *, float); -void SplitGraphPart(CtrlType *, GraphType *, GraphType *, GraphType *); -void SetUpSplitGraph(GraphType *, GraphType *, int, int); - -/* pqueue.c */ -void PQueueInit(CtrlType *ctrl, PQueueType *, int, int); -void PQueueReset(PQueueType *); -void PQueueFree(CtrlType *ctrl, PQueueType *); -int PQueueGetSize(PQueueType *); -int PQueueInsert(PQueueType *, int, int); -int PQueueDelete(PQueueType *, int, int); -int PQueueUpdate(PQueueType *, int, int, int); -void PQueueUpdateUp(PQueueType *, int, int, int); -int PQueueGetMax(PQueueType *); -int PQueueSeeMax(PQueueType *); -int PQueueGetKey(PQueueType *); -int CheckHeap(PQueueType *); - -/* refine.c */ -void Refine2Way(CtrlType *, GraphType *, GraphType *, int *, float ubfactor); -void Allocate2WayPartitionMemory(CtrlType *, GraphType *); -void Compute2WayPartitionParams(CtrlType *, GraphType *); -void Project2WayPartition(CtrlType *, GraphType *); - -/* separator.c */ -void ConstructSeparator(CtrlType *, GraphType *, float); -void ConstructMinCoverSeparator0(CtrlType *, GraphType *, float); -void ConstructMinCoverSeparator(CtrlType *, GraphType *, float); - -/* sfm.c */ -void FM_2WayNodeRefine(CtrlType *, GraphType *, float, int); -void FM_2WayNodeRefineEqWgt(CtrlType *, GraphType *, int); -void FM_2WayNodeRefine_OneSided(CtrlType *, GraphType *, float, int); -void FM_2WayNodeBalance(CtrlType *, GraphType *, float); -int ComputeMaxNodeGain(int, idxtype *, idxtype *, idxtype *); - -/* srefine.c */ -void Refine2WayNode(CtrlType *, GraphType *, GraphType *, float); -void Allocate2WayNodePartitionMemory(CtrlType *, GraphType *); -void Compute2WayNodePartitionParams(CtrlType *, GraphType *); -void Project2WayNodePartition(CtrlType *, GraphType *); - -/* stat.c */ -void ComputePartitionInfo(GraphType *, int, idxtype *); -void ComputePartitionInfoBipartite(GraphType *, int, idxtype *); -void ComputePartitionBalance(GraphType *, int, idxtype *, float *); -float ComputeElementBalance(int, int, idxtype *); -void Moc_ComputePartitionBalance(GraphType *graph, int nparts, idxtype *where, float *ubvec); - -/* subdomains.c */ -void Random_KWayEdgeRefineMConn(CtrlType *, GraphType *, int, float *, float, int, int); -void Greedy_KWayEdgeBalanceMConn(CtrlType *, GraphType *, int, float *, float, int); -void PrintSubDomainGraph(GraphType *, int, idxtype *); -void ComputeSubDomainGraph(GraphType *, int, idxtype *, idxtype *); -void EliminateSubDomainEdges(CtrlType *, GraphType *, int, float *); -void MoveGroupMConn(CtrlType *, GraphType *, idxtype *, idxtype *, int, int, int, idxtype *); -void EliminateComponents(CtrlType *, GraphType *, int, float *, float); -void MoveGroup(CtrlType *, GraphType *, int, int, int, idxtype *, idxtype *); - -/* timing.c */ -void InitTimers(CtrlType *); -void PrintTimers(CtrlType *); -double seconds(void); - -/* util.c */ -void errexit(char *,...); -#ifndef DMALLOC -int *imalloc(int, char *); -idxtype *idxmalloc(int, char *); -float *fmalloc(int, char *); -int *ismalloc(int, int, char *); -idxtype *idxsmalloc(int, idxtype, char *); -void *GKmalloc(int, char *); -#endif -/*void GKfree(void **,...); */ -int *iset(int n, int val, int *x); -idxtype *idxset(int n, idxtype val, idxtype *x); -float *sset(int n, float val, float *x); -int iamax(int, int *); -int idxamax(int, idxtype *); -int idxamax_strd(int, idxtype *, int); -int samax(int, float *); -int samax2(int, float *); -int idxamin(int, idxtype *); -int samin(int, float *); -int idxsum(int, idxtype *); -int idxsum_strd(int, idxtype *, int); -void idxadd(int, idxtype *, idxtype *); -int charsum(int, char *); -int isum(int, int *); -float ssum(int, float *); -float ssum_strd(int n, float *x, int); -void sscale(int n, float, float *x); -float snorm2(int, float *); -float sdot(int n, float *, float *); -void saxpy(int, float, float *, int, float *, int); -void RandomPermute(int, idxtype *, int); -int ispow2(int); -void InitRandom(int); -int log2Int(int); - - - - - - - - - - -/*************************************************************** -* Programs Directory -****************************************************************/ - -/* io.c */ -void ReadGraph(GraphType *, char *, int *); -void WritePartition(char *, idxtype *, int, int); -void WriteMeshPartition(char *, int, int, idxtype *, int, idxtype *); -void WritePermutation(char *, idxtype *, int); -int CheckGraph(GraphType *); -idxtype *ReadMesh(char *, int *, int *, int *); -void WriteGraph(char *, int, idxtype *, idxtype *); - -/* smbfactor.c */ -void ComputeFillIn(GraphType *, idxtype *); -idxtype ComputeFillIn2(GraphType *, idxtype *); -int smbfct(int, idxtype *, idxtype *, idxtype *, idxtype *, idxtype *, int *, idxtype *, idxtype *, int *); - - -/*************************************************************** -* Test Directory -****************************************************************/ -void Test_PartGraph(int, idxtype *, idxtype *); -int VerifyPart(int, idxtype *, idxtype *, idxtype *, idxtype *, int, int, idxtype *); -int VerifyWPart(int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *); -void Test_PartGraphV(int, idxtype *, idxtype *); -int VerifyPartV(int, idxtype *, idxtype *, idxtype *, idxtype *, int, int, idxtype *); -int VerifyWPartV(int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *); -void Test_PartGraphmC(int, idxtype *, idxtype *); -int VerifyPartmC(int, int, idxtype *, idxtype *, idxtype *, idxtype *, int, float *, int, idxtype *); -void Test_ND(int, idxtype *, idxtype *); -int VerifyND(int, idxtype *, idxtype *); - |
