summaryrefslogtreecommitdiff
path: root/benchmarks/CUDA/DG/include/struct.h
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-10-01 08:55:28 -0800
committerTor Aamodt <[email protected]>2010-10-01 08:55:28 -0800
commit11b308e7363e937966b035b4891db32b4eece3bf (patch)
tree50ca4c9ad6f163ac4acb2bf505e64dfebed66947 /benchmarks/CUDA/DG/include/struct.h
parentbb820c116764d7a1b8e071137d32b74e7f34dd2f (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/include/struct.h')
-rw-r--r--benchmarks/CUDA/DG/include/struct.h290
1 files changed, 0 insertions, 290 deletions
diff --git a/benchmarks/CUDA/DG/include/struct.h b/benchmarks/CUDA/DG/include/struct.h
deleted file mode 100644
index 3016c5e..0000000
--- a/benchmarks/CUDA/DG/include/struct.h
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright 1997, Regents of the University of Minnesota
- *
- * struct.h
- *
- * This file contains data structures for ILU routines.
- *
- * Started 9/26/95
- * George
- *
- * $Id: struct.h,v 1.2 2003/07/21 17:50:22 karypis Exp $
- */
-
-/* Indexes are as long as integers for now */
-#ifdef IDXTYPE_INT
-#define IDX_DATATYPE MPI_INT
-#define MAX_INT INT_MAX
-#define MIN_INT INT_MIN
-#else
-#define IDX_DATATYPE MPI_SHORT
-#define MAX_INT SHRT_MAX
-#define MIN_INT SHRT_MIN
-#endif
-
-
-/*************************************************************************
-* The following data structure stores key-value pair
-**************************************************************************/
-struct KeyValueType {
- idxtype key;
- idxtype val;
-};
-
-typedef struct KeyValueType KeyValueType;
-
-/*************************************************************************
-* The following data structure stores key-value pair
-**************************************************************************/
-struct KVType {
- int key;
- float val;
-};
-
-typedef struct KVType KVType;
-
-
-/*************************************************************************
-* The following data structure stores key-value pair
-**************************************************************************/
-struct FKeyValueType {
- float key;
- idxtype val;
-};
-
-typedef struct FKeyValueType FKeyValueType;
-
-/*************************************************************************
-* The following data structure stores key-key-value triplets
-**************************************************************************/
-struct KeyKeyValueType {
- idxtype key1, key2;
- idxtype val;
-};
-
-typedef struct KeyKeyValueType KeyKeyValueType;
-
-/*************************************************************************
-* The following data structure is used to store the buckets for the
-* refinment algorithms
-**************************************************************************/
-struct PQueueType {
- int nnodes;
- int maxnnodes;
- idxtype *perm, *iperm, *values;
- /* iperm[i] stores where the ith entry is located
- perm[i] stores the entry that is located in the ith position */
-};
-
-typedef struct PQueueType PQueueType;
-
-
-/*************************************************************************
-* The following data structure is used to store the buckets for the
-* refinment algorithms
-**************************************************************************/
-struct FPQueueType {
- int type; /* The type of the representation used */
- int nnodes;
- int maxnodes;
-
- /* Heap version of the data structure */
- FKeyValueType *heap;
- idxtype *locator;
-};
-
-typedef struct FPQueueType FPQueueType;
-
-/*************************************************************************
-* The following data structure stores an edge
-**************************************************************************/
-struct edgedef {
- idxtype edge;
- idxtype ewgt;
-};
-typedef struct edgedef EdgeType;
-
-
-/*************************************************************************
-* This data structure holds various working space data
-**************************************************************************/
-struct workspacedef {
- idxtype *core; /* Where pairs, indices, and degrees are coming from */
- int maxcore;
-
- int nlarge; /* The size of 'Large' */
-
- KeyValueType *pairs; /* Large pair array used during setup */
- idxtype *indices; /* Large array of indxtype used for various purposes */
-
- /* Auxiliary parameters */
- idxtype *pv1, *pv2, *pv3, *pv4; /* Vectors of npes+1 size used in various places */
- KeyValueType *pepairs1, *pepairs2;
-
- EdgeType *degrees;
-};
-
-typedef struct workspacedef WorkSpaceType;
-
-
-/*************************************************************************
-* The following data structure holds information on degrees for k-way
-* partition
-**************************************************************************/
-struct rinfodef {
- int id, ed; /* ID/ED of edges */
- int ndegrees; /* The number of different ext-degrees */
- EdgeType *degrees; /* List of edges */
-};
-
-typedef struct rinfodef RInfoType;
-
-
-/*************************************************************************
-* The following data structure holds information on degrees for k-way
-* partition
-**************************************************************************/
-struct nrinfodef {
- int edegrees[2];
-};
-
-typedef struct nrinfodef NRInfoType;
-
-
-/*************************************************************************
-* The following data structure stores a sparse matrix in CSR format
-* The diagonal entry is in the first position of each row.
-**************************************************************************/
-struct matrixdef {
- int nrows, nnzs; /* Number of rows and nonzeros in the matrix */
- idxtype *rowptr;
- idxtype *colind;
- float *values;
- float *transfer;
-};
-
-typedef struct matrixdef MatrixType;
-
-
-/*************************************************************************
-* This data structure holds the input graph
-**************************************************************************/
-struct graphdef {
- int gnvtxs, nvtxs, nedges, ncon, nobj;
- idxtype *xadj; /* Pointers to the locally stored vertices */
- idxtype *vwgt; /* Vertex weights */
- float *nvwgt; /* Vertex weights */
- idxtype *vsize; /* Vertex size */
- idxtype *adjncy; /* Array that stores the adjacency lists of nvtxs */
- idxtype *adjwgt; /* Array that stores the weights of the adjacency lists */
- idxtype *vtxdist; /* Distribution of vertices */
-
- idxtype *match;
- idxtype *cmap;
-
- idxtype *label;
-
- /* Communication/Setup parameters */
- int nnbrs, nrecv, nsend; /* The number of neighboring processors */
- idxtype *peind; /* Array of size nnbrs storing the neighboring PEs */
- idxtype *sendptr, *sendind; /* CSR format of the vertices that are sent */
- idxtype *recvptr, *recvind; /* CSR format of the vertices that are received */
- idxtype *imap; /* The inverse map of local to global indices */
- idxtype *pexadj, *peadjncy,
- *peadjloc; /* CSR format of the PEs each vertex is adjancent to */
-
- int nlocal; /* Number of interior vertices */
- idxtype *lperm; /* lperm[0:nlocal] points to interior vertices, the rest are interface */
-
- /* Communication parameters for projecting the partition.
- * These are computed during CreateCoarseGraph and used during projection
- * Note that during projection, the meaning of received and sent is reversed! */
- idxtype *rlens, *slens; /* Arrays of size nnbrs of how many vertices you are sending and receiving */
- KeyValueType *rcand;
-
-
- /* Partition parameters */
- idxtype *where, *home;
- idxtype *lpwgts, *gpwgts;
- float *lnpwgts, *gnpwgts;
- RInfoType *rinfo;
-
- /* Node refinement information */
- NRInfoType *nrinfo;
- int nsep; /* The number of vertices in the separator */
- idxtype *sepind; /* The indices of the vertices in the separator */
-
- int lmincut, mincut;
-
- int level;
- int match_type;
- int edgewgt_type;
-
- struct graphdef *coarser, *finer;
-};
-
-typedef struct graphdef GraphType;
-
-
-/*************************************************************************
-* The following data type implements a timer
-**************************************************************************/
-typedef double timer;
-
-
-/*************************************************************************
-* The following structure stores information used by parallel kmetis
-**************************************************************************/
-struct controldef {
- int mype, npes; /* Info about the parallel system */
- int CoarsenTo; /* The # of vertices in the coarsest graph */
- int dbglvl; /* Controls the debuging output of the program */
- int nparts; /* The number of partitions */
- int foldf; /* What is the folding factor */
- int ipart; /* The type of initial partitioning */
- int xyztype; /* The type of coordinate indexing */
- int seed; /* Random number seed */
- int sync; /* Random number seed */
- float *tpwgts; /* Target subdomain weights */
- int tvwgts[MAXNCON];
- float ubvec[MAXNCON];
- int partType;
- int ps_relation;
-
- float redist_factor, redist_base, ipc_factor;
- float edge_size_ratio;
- MatrixType *matrix;
-
- MPI_Comm gcomm;
- MPI_Comm comm; /* MPI Communicator */
- MPI_Request sreq[MAX_PES],
- rreq[MAX_PES]; /* MPI send and receive requests */
- MPI_Status statuses[MAX_PES];
- MPI_Status status;
-
- /* Various Timers */
- timer TotalTmr, InitPartTmr, MatchTmr, ContractTmr, CoarsenTmr, RefTmr,
- SetupTmr, ColorTmr, ProjectTmr, KWayInitTmr, KWayTmr, MoveTmr,
- RemapTmr, AuxTmr1, AuxTmr2, AuxTmr3, AuxTmr4, AuxTmr5, AuxTmr6;
-};
-
-typedef struct controldef CtrlType;
-
-
-
-/*************************************************************************
-* The following data structure stores a mesh.
-**************************************************************************/
-struct meshdef {
- int etype;
- int gnelms, gnns;
- int nelms, nns;
- int ncon;
- int esize, gminnode;
- idxtype *elmdist;
- idxtype *elements;
- idxtype *elmwgt;
-};
-
-typedef struct meshdef MeshType;
-